Можно ли создать динамическую древовидную структуру с помощью 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 и Surname. В идеале это могло бы быть расширено, чтобы включить больше подуровней. Я' Я написал немного кода 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");       
5
задан kevchadders 23 May 2011 в 14:59
поделиться