需要如何继承具有模板类型的字典类

时间:2012-08-22 14:16:41

标签: c# dictionary

我被这个问题绞死了。我有一个将继承字典的类。但是字典应该是模板类型。我成功了,直到将一个字典类继承到一个类。但我没有得到如何将派生字典作为模板。请帮忙。 请在下面获取我的代码。

public class MGDDictionary<TKey, TValue> : Dictionary<string,string>
    {
        public MGDDictionary()
        {

        }

        public static SelectedOption value { get; set; }

        public override string ToString()
        {
            return EntitySerializer.ObjToString<MGDDictionary<TKey, TValue>>(serializer, this);
        }
        public static MGDDictionary<TKey, TValue> FromString(string objectStream)
        {
            return EntitySerializer.FromString<MGDDictionary<TKey,TValue>>(serializer,objectStream);
        }
    }

在上面的代码中,我需要这一行是一个继承带有模板的字典的类。

public class MGDDictionary<TKey, TValue> : Dictionary<string,string>

更多提前致谢

1 个答案:

答案 0 :(得分:2)

你的班级是通用的是没有意义的。我想你可以改变它来删除类型参数:

public class MGDDictionary : Dictionary<string,string>
{
    public MGDDictionary()
    {

    }

    public static SelectedOption value { get; set; }

    public override string ToString()
    {
        return EntitySerializer.ObjToString<MGDDictionary>(serializer, this);
    }
    public static MGDDictionary FromString(string objectStream)
    {
        return EntitySerializer.FromString<MGDDictionary>(serializer,objectStream);
    }
}

另一方面,创建自己的集合类很少是个好主意。一般而言,更喜欢组合而不是继承。

另请注意,名称为value static 属性在名称和静态方面几乎肯定是个坏主意...