Я пишу обертку вокруг некоторой библиотеки данных, которая выполняет SQL-выражения и возвращает результаты.C# dynamic: назначить свойства динамически
Команда ExecuteQuery
должна в идеале возвращать IEnumerable<T>
в зависимости от того, к какому типу объекта относится карта результатов запроса. Проблема в том, что я не могу знать, какой тип это будет, и поэтому я предпочел бы вернуть тип IEnumerable<dynamic>
.
Это все хорошо до сих пор, за исключением того, что я хочу, чтобы свойства динамических объектов были такими же, как и столбцы, запрашиваемые для них, но я не могу найти все равно, чтобы назначить это. В настоящее время у меня есть все имена столбцов в массиве col [] например
dynamic obj = new {} as dynamic;
for(int i = 0; i < col.Length; i++){
//say col[i] == 'id', I want obj.id = someValue
obj.? = someValue; ???
}
Надеюсь, это ясно. Надеюсь, это не невозможно!
p.s. Я пишу это для WP7, поэтому мои варианты сильно ограничены, возможно, было бы хорошо помнить об этом.
Спасибо вам за помощь.
Благодарность за @DanielHilgarth правок, мой типирование просто повсюду –
Похоже, без в.ч.: [Динамически установить имя свойства в C# анонимного типа] (http://stackoverflow.com/questions/1642733/dynamically-set-the-property-name-of-ac-sharp-anonymous-type) – nawfal