1

私は .NET の分散について調べています: http://msdn.microsoft.com/en-us/library/dd799517.aspx

私はこの行に出くわしました:Variance applies only to reference types; if you specify a value type for a variant type parameter, that type parameter is invariant for the resulting constructed type.

どうしてこれなの?また、値の型を参照型に「ボックス化」することはできませんか、それともこれによりさらに問題が発生しますか?

私は分散の概念を理解し始めたばかりなので、それに対する私の理解は非常に基本的/不完全です.

4

1 に答える 1

2

それを値型と考えると

別の構造体から継承することはできません

http://msdn.microsoft.com/library/ah19swz4%28v=vs.90%29.aspx

彼らにとって分散について話すことは意味がありません。それを参照型に入れるとしたら、オブジェクト以外にどの型を使うと思いますか? 参照型への暗黙的または明示的なキャストを定義する必要がありますが、何の価値があるのでしょうか?

バリアンスとは、ポリモーフィズムと継承に関するものです。long 型の変数に int を代入すると、暗黙のキャストが行われることを考慮してください。2 つの型の間に継承関係はありません。

于 2013-10-04T13:11:43.853 に答える