Я хочу создать анонимный тип, чтобы динамически установить имя свойства. он не должен быть анонимным. Все, что я хочу достичь, задает динамические имена свойств объектов. Это может быть ExpandoObject и т. Д. Но словарь не будет работать для меня. Каковы ваши предложения? спасибо большоеДинамическое создание анонимного типа?
ответ
Только ExpandoObject
может иметь динамические свойства.
Edit: Вот пример Expand Object использования (из его описания MSDN):
dynamic sampleObject = new ExpandoObject();
sampleObject.TestProperty = "Dynamic Property"; // Setting dynamic property.
Console.WriteLine(sampleObject.TestProperty);
Console.WriteLine(sampleObject.TestProperty .GetType());
// This code example produces the following output:
// Dynamic Property
// System.String
dynamic test = new ExpandoObject();
((IDictionary<string, object>)test).Add("DynamicProperty", 5);
Console.WriteLine(test.DynamicProperty);
Да, я знаю об этом. но могу ли я установить свойство ExpandoObjects из массива строк, например? – ward87
... ну или любой другой тип, реализующий 'IDynamicMetaObjectProvider'. –
ExpandoObject реализует 'IDictionary
Вы можете бросить ExpandoObject
в словарь и заполнить его таким образом, то ключи, которые вы установили будет отображаются как имена свойств в ExpandoObject ...
dynamic data = new ExpandoObject();
IDictionary<string, object> dictionary = (IDictionary<string, object>)data;
dictionary.Add("FirstName", "Bob");
dictionary.Add("LastName", "Smith");
Console.WriteLine(data.FirstName + " " + data.LastName);
+1 Это довольно дико, и я не знал, что у этой динамики есть такая возможность. Другие языки имеют схожие возможности, и это, безусловно, будет иметь несколько отличных вариантов использования. С другой стороны, его также можно было бы злоупотреблять довольно ужасно, и его следует использовать с должным уважением. – AaronLS
- 1. Создание списка анонимного типа в VB
- 2. Динамическое создание класса универсального типа
- 3. Определение типа анонимного типа
- 4. Коллекции анонимного типа?
- 5. Deserialise для анонимного типа
- 6. Отфильтровать коллекцию анонимного типа
- 7. Передача анонимного типа VB.NET
- 8. Ссылка свойства анонимного типа
- 9. Сочетание функций анонимного типа
- 10. Функции анонимного типа
- 11. создать массив анонимного типа
- 12. Cartesian Продукт анонимного типа
- 13. IEqualityComparer для анонимного типа
- 14. Динамическое создание текстовой анимации типа консоли
- 15. Динамическое создание массива типа в C#
- 16. Динамическое создание типа записи в модульном тесте
- 17. Динамическое создание нового экземпляра типа IList
- 18. Создание динамического класса, включая динамическое имя типа
- 19. Создание безопасного анонимного пользователя
- 20. Создание объекта анонимного класса
- 21. Создание лямбда-выражения с новым анонимного типа во время выполнения
- 22. Возможно создание неявного приведения для анонимного типа в словарь?
- 23. Рефакторинг от анонимного типа до определенного типа
- 24. Кастинг анонимного типа для динамического
- 25. Получить значение от анонимного типа
- 26. Ошибка манифеста для анонимного типа
- 27. Получение значения от анонимного типа?
- 28. Вернуться к результатам анонимного типа?
- 29. Карта Enum пункты анонимного типа
- 30. Обмен Позиция позиции анонимного типа
Почему словарь не работает для вас? – dtb
Мне нужно привязать его к источнику данных сетки telerik, а также динамически добавлять столбцы сетки. – ward87