【发布时间】:2014-02-12 04:00:25
【问题描述】:
我正在做与这里提到的完全相同的事情:Which mechanism is a better way to extend Dictionary to deal with missing keys and why?
为返回默认值的字典创建一个 getter。它编译得很好,但是任何尝试使用它的人都会得到一个编译器错误,说......并且找不到接受 System.collections.Genericc.Dictionary 类型的第一个参数的扩展方法“ObjectForKey”。
这是定义
public static TValue ObjectForKey<TKey,TValue>(this Dictionary<TKey,TValue> dictionary, TKey key)
{
TValue val = default(TValue);
dictionary.TryGetValue(key,out val);
return val;
}
这是我尝试使用它的方法
Dictionary<string,object> dictionary = <stuff>
object val = dictionary.ObjectForKey("some string");
有什么想法吗?
【问题讨论】:
-
这里没有出现这个错误。请提供更多背景信息,或者尝试将用例减少到最低限度,也许作为一个新项目。
标签: c# dictionary