我有以下代码将Dictionary分配给组合框:

Dictionary<String, String> dict = ReportRunnerConstsAndUtils.GetReportGeneratorsDictionary();
comboBoxReportRunners.DataSource = new BindingSource(dict, null);
comboBoxReportRunners.DisplayMember = "Key";
comboBoxReportRunners.ValueMember = "Value";


我想验证项目的DisplayMembers和ValueMembers是否是我希望的样子。这似乎是一种逻辑测试方法:

foreach (var v in comboBoxReportRunners.Items)
{
    MessageBox.Show(v.DisplayMember.ToString());
    MessageBox.Show(v.ValueMember.ToString());
}


...但是它不能编译;我得到,“'对象'不包含'DisplayMember'的定义,找不到可以接受类型为'object'的第一个参数的扩展方法'DisplayMember'(您是否缺少using指令或程序集引用?)'”和'ValueMember'的相同err msg

我需要查看什么(仅一次),每个项目的DisplayMember和ValueMember存储了什么值?

最佳答案

尝试这种方式:

foreach (KeyValuePair<string,string> v in comboBoxReportRunners.Items)
{
    MessageBox.Show(v.Key.ToString());
    MessageBox.Show(v.Value.ToString());
}


字典使用KeyValuePair存储数据

关于c# - 如何验证分配给组合框的Dictionary值是我认为的值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34497872/

10-11 20:35