外行术语
//首先将方法名称添加到您的示例扩展方法中,以便编译
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>
高温高压