是否可以使用C#添加Object的属性

时间:2015-03-04 20:49:59

标签: javascript c# object attributes

在JavaScript中,我可以创建一个新对象(称为clean)。然后,如果我想设置该对象的属性,我只需设置objectName.attributeName = whatever。是否可以在C#中执行类似的操作, WITHOUT 定义一个类?


var clean = new Object();
clean.isClean = true;

1 个答案:

答案 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();