2013-12-23 3 views
2

У меня есть список объектов:Как псевдоним имени столбца в LINQ во время выполнения?

List<MyClass> list = new List<MyClass>(); 

И это мой запрос

var q = from o in list 
     select new 
     { 
     column1 = o.X 
     }; 

Это работает, но я хочу, чтобы установить column1 во время выполнения следующим образом:

string column1 = "myColumnName"; 
var q = from o in list 
    select new 
    { 
     column1 = o.X 
    }; 

Как Я делаю это?

+2

почему вы думаете, что это нужно ? – Grundy

+1

То, что вы пытаетесь сделать, непонятно, можете ли вы уточнить? – daryal

+0

вам нужно было бы создать свое 'Expression' вручную во время выполнения и скомпилировать его – MichaC

ответ

1

Как я понял из вашего комментария вам не псевдоним для столбца во время выполнения, вам нужно что-то вроде этого

string columnName = "myColumnName"; 
var q = from o in list 
     select new KeyValuePair<string,string>(columnName,o.X); 

и связать это COMBOBOX как этот

comboBox.DisplayMember = "Key"; 
comboBox.ValueMember = "Value"; 
comboBox.DataSource = q; 
comboBox.DataBind(); 
Смежные вопросы