dynamic创build一个匿名types?

我想创build一个匿名types,我可以dynamic地设置属性名称。 它不一定是一个匿名types。 我想要实现的是dynamic设置任何对象的属性名称。 它可以是ExpandoObject等,但字典不会为我工作。 你有什么build议? 非常感谢

只有ExpandoObject可以具有dynamic属性。

编辑 :下面是一个展开对象的使用示例(从其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); 

您可以将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);