在JavaScript中,我可以创建一个新对象(称为clean)。然后,如果我想设置该对象的属性,我只需设置objectName.attributeName = whatever。是否可以在C#中执行类似的操作, WITHOUT 定义一个类?
var clean = new Object();
clean.isClean = true;
答案 0 :(得分:3)
从.NET 4.0开始,您可以使用ExpandoObject
:
dynamic expando = new ExpandoObject();
expando.text = "hello world";
无论如何,如果你只是想在运行中创建对象,你应该使用匿名类型声明:
var obj = new { text = "hello world" };
实际上,expando对象具有附加值:您还可以使用委托添加方法。例如:
dynamic expando = new ExpandoObject();
expando.DoIt = new Action
(
() =>
{
// Code here
}
);
expando.DoIt();