1

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

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>

更多 提前感谢

4

1 回答 1

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属性是一个坏主意......

于 2012-08-22T14:19:26.633 回答