在许多语言中,您可以在不创建数据类型的情况下创建对象,并向该对象添加属性。
例如在 JS 或 AS 中:
var myObject = {};
myObject.myParameter = "hello world";
或者,您可以使用 C 和 C++ 创建结构。
有可能在 C# 中做到这一点吗?
是的,ExpandoObject
在System.Dynamic
命名空间下。您可以像在其他动态语言中一样动态添加属性
dynamic dynObject = new ExpandoObject();
dynObject.someProperty= "Value";
http://msdn.microsoft.com/en-us/library/system.dynamic.expandoobject.aspx
阅读有关ExpandoObject
dynamic myObject = new ExpandoObject();
myObject.myParameter = "hello world";
Console.WriteLine(myObject.myParameter);