dll中的字典
本文关键字:字典 dll | 更新日期: 2023-09-27 18:07:00
我已经得到了这个代码:
public class Extension
{
Dictionary<string, string> exts = new Dictionary<string, string>();
public static void Add(string extcode, string desc)
{
exts.Add(extcode, desc);
}
public static void Del(string extcode)
{
if(exts.ContainsKey(extcode))
{
exts.Remove(extcode);
}
}
public static bool Exists(string extcode)
{
if(exts.ContainsKey(extcode))
{
return true;
}
if(!exts.ContainsKey(extcode))
{
return false;
}
}
}
问题是当我尝试在添加,删除和存在类中使用ext Dictionary时,它会显示:
非静态字段、方法或属性"Filext.Extension.Ext"需要对象引用
我想在每个函数中使用Dictionary方法,而不创建新字典或克隆它。这个想法是当我使用Extension.Add("aaa","description")
, Remove("aaa")
或Exists("aaa")
时,通过键从字典中添加或删除它。
您的方法是static
,因此您的Dictionary
声明也应该是static
。不能在静态方法中使用类实例成员。
private static Dictionary<string, string> exts = new Dictionary<string, string>();
问题是该类的方法定义为static
。您有两种解决方案:更好的解决方案是通过在方法定义之前删除static
关键字来静态定义这些方法。最糟糕的解决方案是将ext
字典定义为static
.