素人用語
//まず、サンプルの拡張メソッドにメソッド名を追加してコンパイルします
public static class MyExtensionFirADictionary
{
public static TValue GetGenericValue <TKey, TValue>(this IDictionary<TKey, TValue> dic, TKey key)
{
TValue value;
if (dic != null && dic.TryGetValue(key, out value))
return value;
return default(TValue);
}
}
それでは、最初から始めましょう。
メソッドの署名:
public static TValue GetGenericValue <TKey, TValue>(this IDictionary<TKey, TValue> dic, TKey key)
タイプ TValue のオブジェクトを返します。
Dictionary<string, int> dict = new Dictionary<string, int>();
この場合、あなたが電話した場合
dict.GetGenericValue("thekey");
TValue は int 型になります (注意して<string, int>
、元のメソッドに関連付けます
理解すべき重要なアイデア:
ジェネリックはテンプレートと考えてください。TValue、TKey は、これを行うときに指定する単なるプレースホルダーです。
List<myclass>
HTH