私は一般的な辞書を持っています
class GenericDictionary<TKey, TValue> : Dictionary<TKey, TValue>
{
Dictionary<TKey, TValue> dictionary = new Dictionary<TKey,TValue>();
public void AddToGenericDictionary(TKey key, TValue value)
{
dictionary.Add(key, value);
}
}
クラスを宣言しました
class GenericInput1
{
public string Name { get; set; }
}
メイン関数で、GenericInput1 クラスを初期化し、GenericDIctionary に追加しました
class Program
{
static void Main(string[] args)
{
GenericInput1 inp1 = new GenericInput1 { Name = "An" };
GenericInput1 inp2 = new GenericInput1 { Name = "B" };
GenericInput1 inp3 = new GenericInput1 { Name = "C" };
GenericDictionary<int, GenericInput1> genericIntKey = new GenericDictionary<int, GenericInput1>();
genericIntKey.AddToGenericDictionary(1, inp1);
genericIntKey.AddToGenericDictionary(2, inp2);
genericIntKey.AddToGenericDictionary(3, inp3);
GenericInput1 result2 = genericIntKey[3];
Console.WriteLine(result2.Name);
}
}
プログラムを実行すると、次の例外が発生します。
未処理の例外: System.Collections.Generic.KeyNotFoundException: 指定されたキーがディクショナリに存在しませんでした。
しかし、組み込みの Add メソッドを使用して一般的な辞書に追加しようとすると、プログラムはうまく動作します。