добавление новых свойств в объект Expando в цикле foreach

Мне нужно добавить новые свойства в объект expando в цикле foreach, но я не вижу способа сделать это. Вот пример:

var allProperties = новый список { "Имя", "Электронная почта", "Роли" }; allProperties.AddRange(metaDataModel.GetFormattedFolders());

dynamic expando = new ExpandoObject();
foreach (var s in allProperties)
{
    expando.s = string.Empty;
}

Он рассматривает «s» как свойство вместо того, чтобы рассматривать значение «s» как имя свойства.

Спасибо


person Azhar Kiani    schedule 14.04.2014    source источник
comment
Какой тип объекта expando?   -  person juan.facorro    schedule 14.04.2014
comment
Это Dynamic: dynamic expando = new ExpandoObject();   -  person Azhar Kiani    schedule 14.04.2014


Ответы (1)


person    schedule
comment
выше не работает. В нем говорится: невозможно применить индексирование с помощью [] к выражению типа «System.Dynamic.ExpandoObject». - person Azhar Kiani; 14.04.2014
comment
Спасибо. Оно работает. Не знаете, почему мы должны преобразовать его в объект IDictionary, чтобы добиться этого? - person Azhar Kiani; 14.04.2014
comment
ExpandoObject — это IDictionary‹string,object› внизу, но вы не можете использовать индексацию with[] или добавлять свойства, как мы делаем с обычными коллекциями. - person Damith; 14.04.2014
comment
Спасибо. Это имеет смысл. - person Azhar Kiani; 14.04.2014