我正在尝试编写一个Dictionary
扩展,可以独立于Key/Value的数据类型进行工作。我尝试使用object
数据类型传递它,并假设它可以与任何类型一起使用。
我的代码:
public static class DictionaryExtensionsClass
{
public static void AddFormat(this Dictionary< ?? unknow type/*object*/, ??unknow type/*object*/> Dic, ??unknow type/*object*/ Key, string str, params object[] arglist)
{
Dic.Add(Key, String.Format(str, arglist));
}
}
Dictionary<WaringType, string>()
时(其中WaringType
是一个枚举型),我收到一个错误:'System.Collections.Generic.Dictionary<myclass.WaringType,string>'
不包含 'AddFormat' 的定义,并且找不到接受第一个参数类型为System.Collections.Generic.Dictionary<myclass.WaringType,string>'
的 'AddFormat' 的扩展方法(是否缺少 using 指令或程序集引用?) - JackErrMessages.AddFormat(WaringType.FatalError, "{0} foo {1} baa etc", a.Name, a.Value);
- JackDictionaryExtensionsClass.AddFormat(theDictionary, key, format, ...);
以检查其可见性。 - WormboDictionaryExtensionsClass
时,我看到了方法名称和我的拼写错误。当我按照Jon Skeet的建议重写代码时,我在Forma**t**tAdd()
方法名称上添加了一个t
。非常抱歉给您带来的不便。 - Jack