列表框多个选项不同的描述错误

时间:2017-02-26 16:07:36

标签: c# winforms listbox user-controls

我创建了一个列表框,其中应该有多个选项,通过选择其中一个选项,将在标签中显示所选择的选项描述,区别于选择与选择

我想出了这段代码:

       public Form1()
        {
            InitializeComponent();

            listBox1.DataSource = choices;              
            listBox1.DisplayMember = "name"; 
        }

        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {

            label1.Text = valikud.ElementAt(listBox1.SelectedIndex).description;
        }

        List<dynamic> choices = new List<dynamic>()
        {
            new {

                name = "Choice 1",
                description = "Description 1"
            },
            new {
                name = "Choice 2",
                description = "Description 2"
            }
        };
    }
}

这适用于常规表单,问题出现在我将其添加到我的其他程序user control时,问题发生在:

List<*dynamic*> choices = new List<dynamic>()

错误说明:

错误CS1980无法定义使用“动态”的类或成员,因为无法找到编译器所需的类型“System.Runtime.CompilerServices.DynamicAttribute”。你错过了参考吗?

UPDATE :问题是由于我过时的.net框架版本,我在3.0之前更新到4.6

但现在这引起了一个新问题:

 private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {

            label1.Text = *choices.ElementAt(listBox1.SelectedIndex)*.description;
        }

错误说明:

错误CS0656缺少编译器所需的成员'Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo.Create'

我怎么可能解决这个问题? -Thanks

1 个答案:

答案 0 :(得分:0)

您需要检查项目的框架版本,以获得此错误。

.NET Framework 4.0或更高版本支持

动态关键字和类型。

确保项目的目标框架达到4.0或更高版本并且它应该解决您的问题。