現在、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という2つの子フィールドを作成できるかどうか疑問に思いました。理想的には、これを拡張して、より多くのサブレベルを含めることができます。以下の疑似コードをいくつか実行して、理想的にどのように機能させたいかを示しました。(もちろん、このコードは現在エラーを引き起こします)
// 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");