Приведение к анонимному типу

У меня была следующая проблема сегодня, и мне было интересно, есть ли решение для моей проблемы.

Моя идея состояла в том, чтобы создать анонимные классы и использовать их в качестве источника данных для 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");
}

Это работает отлично до сих пор.

Проблема, с которой я столкнулся, заключается в том, чтобы вытащить Id изТекущий" свойство BindingSource, потому что я могуверните его анонимному типу:

private void cmdOK_Click(object sender, EventArgs e)
{
    var option = (???)bsOptions.Current;
}

Я думаю, что нет никакого способа узнать тип "Текущий" и получить доступ кЯ бы" Имущество? Может быть, у кого-то есть хорошее решение ...

Я знаю, что есть и другие (а также лучшие) способы получить Id (отражение, чтение значения из ComboBox, не используя анонимные tpyes, ...) I 'Я просто бешеный, если этоможно элегантно получить Type из bsOptions.Current.

Ответы на вопрос(7)

Ваш ответ на вопрос