3

MyDictionary参照型の値を持つ値型のキーを持つように名前が付けられた汎用辞書を制約するために、どのコードを作成しますか?

これが私の答えだったと思います:

public class MyDictionary<Tkey,TValue>:Dictionary<Tkey,TValue>
where Tkey:struct
where TValue:class
{

}

しかし、これが正しい答えかどうかはわかりません..

4

2 に答える 2

4

私にはうまく見えます。Nullable1 つ小さな注意点があります。このようなディクショナリでは、型 ( などint?) をキーまたは値として使用することはできません。

型パラメータの制約から:

where T: struct型引数は値型でなければなりません。以外の任意の値型をNullable指定できます。

where T: class型引数は参照型でなければなりません。これは、任意のクラス、インターフェイス、デリゲート、または配列型にも適用されます。

于 2012-10-08T00:31:40.610 に答える