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")时,通过键从字典中添加或删除它。

dll中的字典

您的方法是static,因此您的Dictionary声明也应该是static。不能在静态方法中使用类实例成员

private static Dictionary<string, string> exts = new Dictionary<string, string>();

问题是该类的方法定义为static。您有两种解决方案:更好的解决方案是通过在方法定义之前删除static关键字来静态定义这些方法。最糟糕的解决方案是将ext字典定义为static .