C# 数据成员属性';系统&x27;在数据源上找不到

C# 数据成员属性';系统&x27;在数据源上找不到,c#,winforms,C#,Winforms,我正在将词典绑定到组合框。这似乎可以正常工作,没有任何编译错误,但在运行时我得到了错误: 在数据源上找不到datamember属性“System” 这是我的密码: public Dictionary<string, object> valuList { set { lComboBox.DataSource = new BindingSource(value,null); lComboBox.DisplayMember = (value.Keys).ToStri

我正在将
词典
绑定到
组合框
。这似乎可以正常工作,没有任何编译错误,但在运行时我得到了错误:

在数据源上找不到datamember属性“System”

这是我的密码:

public Dictionary<string, object> valuList
{
  set
  {
    lComboBox.DataSource = new BindingSource(value,null);
    lComboBox.DisplayMember = (value.Keys).ToString();
    lComboBox.ValueMember = (value.Values).ToString();
  }
}

Dictionary<string, string> x6 = new Dictionary<string, string>();
x6.Add("AS", "ASS");
x6.Add("AAS", "AASS");
myForm.valuList = x6;
公共字典列表
{
设置
{
lComboBox.DataSource=新的BindingSource(值,null);
lComboBox.DisplayMember=(value.Keys).ToString();
lComboBox.ValueMember=(value.Values.ToString();
}
}
字典x6=新字典();
x6.添加(“AS”、“ASS”);
x6.添加(“AAS”、“AAS”);
myForm.valuList=x6;

如果希望display成员是字典中每对的键,value成员是每对的值,则可能需要:

lComboBox.DisplayMember = "Key";
lComboBox.ValueMember = "Value";
您应该知道,订单尚未确定-这真的是您想要的吗

Dictionary.Keys
Dictionary.Values
的返回值调用
ToString()
,可能只会得到类型的完全限定名,该名称将以
System.Collections…
开头-这就是为什么会出现当前错误的原因


我还强烈建议您将您的属性重命名为符合.NET命名约定的名称,并且具有某种意义。

您的值键或值称为“系统”吗?它丢了吗?编辑您应该发布什么值可以包含在您何时收到错误?当你选择一个项目或应用程序启动时,你会得到它吗?@Roise编辑了它,Thanks我按照你说的做了,并使用“Value.Value”作为displaymemeber,因为我需要数据,但我总是只得到1,即使Value包含3个Memeber。我查看了value,hirarchy是value.value.THINGS,因为我使用自定义对象而不是字符串作为value,为什么它总是1个值?但是,“Key”给了我3个值keys@justanidiot:对不起,我不知道如何理解你的评论。很明显,你的问题中包含的上下文比你的问题中包含的要多得多——字典只是字符串……但我是否应该假设这是一个挖掘我的对象的问题呢?价值@justanidiot:不,您传入了一个字典-它是
KeyValuePair
条目的集合。因此,对于每个条目,它将提取
属性(条目中的键)以显示,并提取
属性(条目中的值)作为值。现在还不清楚你想做什么。。。