Скажет, список имен элементов, хранящихся в массиве, как показано ниже,Как добавить динамическое имя участника и значение к экземпляру класса ExpandoObject?
string[] myMembers = { "ChapterName", "Medium", "LastName", "OrderID" };
Я написал следующий код для создания динамического класса и членов наряду со случайными значениями.
var myDynamicClassList = new List<ExpandoObject>();
foreach (var MemberName in myMembers)
{
dynamic dynamicClass = new ExpandoObject();
dynamicClass.MemberName = new Random().Next();
myDynamicClassList.Add(dynamicClass);
}
Для того, чтобы отобразить выход выше myDynamicClassList
я написал следующий код.
foreach (var x in myDynamicClassList)
{
foreach (var property in (IDictionary<String, Object>)x)
{
Console.WriteLine(property.Key + ": " + property.Value);
}
}
Показаны выход, как этот
MemberName: 123465461
MemberName: 564613611
MemberName: 134654321
MemberName: 786451214
Но вместо вывода выше я ожидаю выход, как показано ниже
ChapterName: 123465461
Medium: 564613611
LastName: 134654321
OrderID: 786451214
Вот мой вопрос: можно ли добавить динамическое имя участника t o динамический класс в C#. Если это возможно, сообщите мне, если нет, пожалуйста, помогите мне выполнить эту работу.
Я очень ценю вашу помощь в продвинутом виде.
Нет необходимости изменять ваш новый список(); 'потому что' ExpandoObject' реализует 'IDictionary'. У вас не будет проблем с компиляцией или запуском этого кода. –
grovesNL
Благодарим вас за ответ. Я перегрузил ошибку в предыдущем коде в строке 'myDynamicClassList.Add (dynamicClass);' поэтому я изменил код из 'var myDynamicClassList = new List();' to 'var myDynamicClassList = new List >(); 'Да, я согласен с вами, альтернативные решения - это литье типа, как изменение кода из' myDynamicClassList.Add (dynamicClass); 'to' myDynamicClassList.Add ((ExpandoObject) dynamicClass); ' –
sridharnetha