У меня есть следующее определение:добавлять атрибуты с помощью строки для динамического объекта
public class cell : DynamicObject {
}
[DataContract]
public class rows {
[DataMember]
public List<cell> rows;
}
Позже в коде я:
dynamic dtCell = new cell();
Мне нужно, чтобы иметь возможность создавать атрибуты с разными именами каждый раз , Так что я в состоянии получить JSON как:
{ color: 'red', category: 'car'} or { country: 'US', city: 'Tampa', county: '...', ... }
Как я могу создать атрибуты для динамического объекта так же, как добавление атрибутов к словарю в JavaScript или что-то подобное.
Я пробовал: dtCell.GetType().GetProperty('city')
как я нашел в нескольких сообщениях, а возврат объекта - null
.
Когда я делаю:
dtCell.GetType().GetProperty('city').SetValue(dtCell, 'Tampa', null)
я получаю исключение: dtCell.GetType().GetProperty("CustomerId").SetValue(dtCell, 3, null)' threw an exception of type 'System.Reflection.TargetInvocationException' dynamic {System.Reflection.TargetInvocationException}
Помощь ценится !!!
После вы получите 'PropertyInfo' вы должны затем захватить' GetSetMethod' HTTP: // MSDN .microsoft.com/en-us/library/2ef4d5h3.aspx и запустить вызов против этого. В основном вы вызываете неправильный метод. – asawyer