如何在C#中使用struct创建字典属性?

时间:2012-10-25 10:16:39

标签: c# properties dictionary

我有一个包含结构作为键的字典,我必须为字典创建一个属性

private Dictionary<string, Data> m_dictParam;

   struct Data
    {
        public string MinValue { get; set; }
        public string MaxValue { get; set; }
    }

我想使用该结构

创建字典的属性

当我尝试这样做时

    public Dictionary<string,Data> MinMax
    {
        get;
        set;
    }

发生此错误:

  

不一致的辅助功能属性类型system.Collections.Generic.Dictionary

3 个答案:

答案 0 :(得分:1)

您需要将结构定义为公共结构。您的属性是公共的,但结构不是这样,任何只能访问公共事物的组件将无法使用您的属性,因为它无法识别密钥类型。

public struct Data
    {
        public string MinValue { get; set; }
        public string MaxValue { get; set; }
    }

答案 1 :(得分:1)

您的Data结构不是public,而您正试图公开发布它。

答案 2 :(得分:0)

事实是结构是内部的,尝试将其声明为

public struct Data {
    // etc
}