オーバーライドに関して、C#の署名分散型 -- overriding フィールド と resolution フィールド と variance フィールド と type-signature フィールド 関連 問題

Type signature variance in C#, with respect to overrides












1
vote

問題

日本語

この時間の分散に関するわずかに異なる質問

私は実験からそれを取りますC#が反対の関数で仮想関数を上書きすることを許可しないのですか?もしそうなら、あなたは「適切な方法の過負荷が見つかりません」と言っているので、どうやってそれをしますか。そうでなければ、なぜ違いないのですか?基本クラスが値が常にintであることを指定し、サブクラスがオブジェクトを取ることができることを指定している場合、問題は問題ですか?

返品タイプと同じで、彼らの上書き署名

で共分散する必要があります。

あなたはこれをすることを可能にする言語? (C ++ / Java私はあなたを見ています)そして彼らがあなたが使用させているならば、どの型を使ってもらえますか? (戻り型/引数リストなど)

複数の上書きをしてもらえますか?署名が技術的にユニークであった限りの理由はわかりません。

なぜC#/ CLRがサポートしていないのはなぜですか方法の上書きCO / CONTA分散?

これを読んでください、そして私は質問のどれも答えを見ません。私は汎用分散について知っています、そして私はそれが素晴らしいことを知っています。 C#だけでなくC#でも、メソッドシグネチャの分散について知りたいです(すなわち、これに限定されません)。存在しない場合は、これと説明を確認してください(それは実装の詳細ですか?私のタイプの理論は間違っていますか?この特定の機能をサポートしていません)は、この特定の機能をサポートしていませんか。私はCLRの実装に対処する必要がないので、具体的な複雑な詳細を知らないので考えていますか?)

英語

slightly different question about variance this time.

I take it from experimentation that C# does not allow you to override a virtual function with a contravariant function? If it does, how do you do it, since I keep getting "suitable method overload not found." If it isn't, why not? if the base class specifies that the value in will always be an int, and the sub-class can take an object, where is the problem?

Same to return types, should be covariant in their overrride signature

What languages allow you to do this? (C++/Java I am looking at you) and if they let you use, variance what types? (return type/argument list etc.)

Could you have multiple overrides? I don't see why not as long as the signatures were technically unique.

Why does C#/CLR not support method override co/contra-variance?

I read this and I see no answers to any of the questions. I know about generic variance, and I know it's awesome. I want to know about method signature variance, and not just in C#, but also in C#(i.e. including but not limited to). If it doesn't exist I would like a confirmation of this and an explanation(is it an implementation detail? is my type theory wrong? Is it just the CLR/C# happens to not support this particular feature? Is it something I haven't thought of since I don't have to deal with implementing the CLR, and therefore don't know specific complex details?)

</div
           

回答リスト

0
 
vote
vote
ベストアンサー
 

回答を見つけた、C#仕様のセクション10.6.4は、オーバーライドが同じシグネチャ

を持つ必要があると述べています。
 

Found the answer, section 10.6.4 in the C# specification states that overrides must have the same signature

</div
 
 

関連する質問

2  それらのタイプの署名を調べることによって機能についての推論[閉じ]  ( Reasoning about functions by examining their type signatures ) 
閉鎖。この質問はもっと焦点を絞ったにする必要があります。現在答えを受け付けていません。 この質問を改善したいですか?このPOST...

-2  このタイプのエラーを投げてrecosemlが投げているのはなぜですか?  ( Why is reasonml throwing this type error ) 
'a => 'a 関数とこの関数を繰り返す回数を示す自然な数を取り入れています。別の<コード> 'a => 'a 機能を出力します。 入力例: <事前> <コード> let func: int => int = num => x-2; <コード> i...

0  機能タイプのシグネチャについて  ( Understanding function type signatures ) 
OCAMLの高次関数のための関数型署名を理解するのに問題がある。 <事前> <コード> location2 この処理方法これは、 location3 の部分が location4 を入力として取り、関数 location5 で定義されたタイプを返します。 ...

27  Haskell型の署名を理解する  ( Understanding haskell type signatures ) 
私は自分自身のHaskellを教える過程で、私は次の種類の署名について疑問に思いました: <事前> <コード> Prelude> :t ($) ($) :: (a -> b) -> a -> b Prelude> どうやって(意図したものなし)をどのように...

4  ここで私のタイプの署名の何が問題なのですか?  ( Whats wrong with my type signatures here ) 
私はコースクルードデータ構造で遊んでいて、私のコードではかなり早い時期に、タイプエラーが発生します: <事前> <コード> module Graph where import Data.Map data Node a = Node { getLabel :...

0  Haskell - タイプの署名を見つけます  ( Haskell find out type signature ) 
私はHaskellと機能的なプログラミングに慣れています、そして私はなぜのタイプ署名の理由を理解することができません t2 =( y z a - &gt;((x.y)z、(y.x)z)) このように見えます: T2 ::(A - &GT; A) ...

5  コンビネータのタイプシグネチャは、その等価Lambda関数のタイプ署名と一致しません  ( The type signature of a combinator does not match the type signature of its equi ) 
このコンビネータを検討してください: <事前> <コード> S (S K) 引数にそれを適用するx y: <事前> <コード> S (S K) X Y 契約: <事前> <コード> X Y S(S k)を対応するλの用語に変換し、この結果を得た:...

1  オーバーライドに関して、C#の署名分散型  ( Type signature variance in c with respect to overrides ) 
この時間の分散に関するわずかに異なる質問 私は実験からそれを取りますC#が反対の関数で仮想関数を上書きすることを許可しないのですか?もしそうなら、あなたは「適切な方法の過負荷が見つかりません」と言っているので、どうやってそれをしますか。そうでなければ、なぜ違い...

6  Haskellの「多分」を使用して、宣言書[初心者の質問]  ( Using haskells maybe type declarations beginners question ) 
Haskellで実験を始めて問題がある。 QQQは、「Nothing」で呼び出された場合に1つの文字列を印刷する必要がある関数です。 最初の試みは作業のようです: <事前> <コード> qqq Nothing = print "There isn't any...

29  複数のクラスの制約を持つHas​​kellタイプの署名  ( Haskell type signature with multiple class constraints ) 
複数のクラス制約を持つ方法では、 A の場合<コード> B の場合は Num です。 、私はを言うことができました <事前> <コード> f :: Eq a => a -> b` または <事前> <コード> <script> import Sta...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有