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

如何在C#中使用struct创建字典属性?,c#,properties,dictionary,C#,Properties,Dictionary,我有一个字典,其中包含一个结构作为键,我必须为字典创建一个属性 private Dictionary<string, Data> m_dictParam; struct Data { public string MinValue { get; set; } public string MaxValue { get; set; } } 专用字典m_dictParam; 结构数据 { 公共字符串MinValue{get;set;}

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

private Dictionary<string, Data> m_dictParam;

   struct Data
    {
        public string MinValue { get; set; }
        public string MaxValue { get; set; }
    }
专用字典m_dictParam;
结构数据
{
公共字符串MinValue{get;set;}
公共字符串MaxValue{get;set;}
}
我想使用该结构创建字典的属性

当我试着这样做的时候

    public Dictionary<string,Data> MinMax
    {
        get;
        set;
    }
公共字典最小值
{
得到;
设置
}
发生以下错误:

可访问性属性类型system.Collections.Generic.Dictionary不一致


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

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

您的
数据
结构是非
公共的
,您正试图公开它。

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

public struct Data {
    // etc
}