В настоящий момент я использую ExpandoObject для динамического сохранения имени и фамилии.Возможно ли создать динамическую древовидную структуру с помощью ExpandoObject?
например.
// Create Expando object for testing
dynamic employee = new ExpandoObject();
// Dynamically add the fields to the expando
((IDictionary<String, Object>)employee).Add("FirstName", "John");
((IDictionary<String, Object>)employee).Add("Surname", "Smith");
мне было интересно, если можно динамически сохранять поля в древовидную структуру, так что я мог бы иметь родительское поле с именем Name, а затем два дочерние поля называются Firstname и фамилия. В идеале это потенциально можно было бы расширить, включив в него дополнительные уровни. Я сделал несколько psudo-кода ниже, чтобы в идеале продемонстрировать, как я хочу, чтобы он работал. (Конечно, это в настоящее время код вызывает ошибку)
// Create Expando object for testing
dynamic employee = new ExpandoObject();
// Dynamically add the Name
((IDictionary<String, Object>)employee).Add("Name", "");
//Dynamically add the firstname and surname to employee.Name
((IDictionary<String, Object>)employee.Name).Add("FirstName", "John");
((IDictionary<String, Object>)employee.Name).Add("Surname", "Smith");
EXPANDO? Это какое-то заклинание Гарри Поттера? +1 для интересующего вопроса – sehe
@sehe, http://msdn.microsoft.com/en-us/library/system.dynamic.expandoobject.aspx –
@George: Да, я сертифицирован Google с 2003 года – sehe