为了账号安全,请及时绑定邮箱和手机立即绑定

转换为匿名类型

转换为匿名类型

C#
胡子哥哥 2019-09-24 15:11:19
我今天遇到以下问题,我想知道我的问题是否有解决方案。我的想法是建立匿名类,并将其用作WinForm BindingSource的数据源:public void Init(){    var option1 = new                  {                      Id = TemplateAction.Update,                      Option = "Update the Templates",                      Description = "Bla bla 1."                  };    var option2 = new                  {                      Id = TemplateAction.Download,                      Option = "Download the Templates",                      Description = "Bla bla 2."                  };    var list = new[] {option1, option2}.ToList();    bsOptions.DataSource = list; // my BindingSource    // cboTemplates is a ComboBox    cboTemplates.DataSource = bsOptions;     cboTemplates.ValueMember = "Id";    cboTemplates.DisplayMember = "Option";    lblInfoTemplates.DataBindings.Add("Text", bsOptions, "Description");}到目前为止,一切正常。我遇到的问题是要从BindingSource的“当前”属性中获取ID,因为我无法将其强制转换回匿名类型:private void cmdOK_Click(object sender, EventArgs e){    var option = (???)bsOptions.Current;}我想没有办法找出“当前”类型并访问“ Id”属性?也许有人有一个好的解决方案...我知道还有其他(也是更好的)获取ID的方法(反射,从ComboBox读取值,不使用匿名tpyes,...)我只是好奇是否有可能从bsOptions中获取Type。电流优雅。
查看完整描述

3 回答

  • 3 回答
  • 0 关注
  • 394 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信