オーバーライドに対して、C#で署名分散型
-
25-09-2019 - |
質問
分散について若干異なる質問今回ます。
私はC#はあなたが反変機能を持つ仮想関数をオーバーライドすることはできませんことを実験からそれを取りますか?もしそうであれば、私は得続けるので、あなたは、それを行う方法を行う「適切なメソッドオーバーロードが見つかりません。」そうでない場合は、なぜいけないのでしょうか?基本クラス指定した場合は中値は常にint型となり、サブクラスは、オブジェクトを取ることができ、どこに問題ありますか?
その書き換えて署名で共変である必要があり、型を返すために、同じ
どのような言語は、あなたがこれを行うことができ? (C ++ / Javaの私はあなたを見ています)と、彼らはあなたが使用してみましょうもし、分散どのタイプ? (戻り型/引数リストなど。)
あなたは複数のオーバーライドを持ってもらえますか?私はなぜない限り、署名は技術的にユニークあったように表示されません。
なぜC#/ CLRはないのサポートメソッドのオーバーライドCO /コントラ分散ですか
私はこれを読んで、私が質問のいずれかへの答えを見ません。私は、一般的な分散について知っている、と私はそれは素晴らしいですね。私は、メソッドのシグネチャの分散について知りたい、とだけでなく、C#で、だけでなく、C#で(すなわち。しかし含むがこれらに限定されません)。それが存在しない場合、私はこれの確認と説明をしたいと思います(それは実装の詳細です?私のタイプ理論が間違っているのですか?それはちょうどCLR / C#は、この特定の機能をサポートしないことが起こるていますか?それは何かIの避難所です私はCLRの実装に対処する必要はありませんので、特定の複雑な詳細を知らないので、tは考え?)
解決
、オーバーライドは同じシグネチャを持っていなければならないことをC#の仕様の状態でのセクション10.6.4