Javascript“var obj = new Object”在C#中等效

有没有一种简单的方法来创建和使用C#设置属性,就像在Javascript中一样。

示例Javascript:

var obj = new Object; obj.value = 123476; obj.description = "this is my new object"; obj.mode = 1; 

尝试c#匿名课程

 var obj = new { value = 123475, description = "this is my new object", mode = 1 }; 

虽然有很多不同之处……

@Valera Kolupaev@GlennFerrieLive提到了另一种使用动态关键字的方法

如果要创建非tyed对象,请使用ExpandoObject 。

 dynamic employee, manager; employee = new ExpandoObject(); employee.Name = "John Smith"; employee.Age = 33; manager = new ExpandoObject(); manager.Name = "Allison Brown"; manager.Age = 42; manager.TeamSize = 10; 

您的另一个选择是使用匿名类 ,但这只适用于您,只有在方法范围内使用它时,因为无法从方法范围外部访问对象类型信息。

在C#中你可以这样做:

 var obj = new SomeObject { value = 123476, description = "this is my new object", mode = 1 }; 

编辑:在这里等待OP的澄清,因为我可能误解了他的意图。

执行此操作的方法是使用C#4.0动态类型,如Expando Object …请参阅此主题:

如何动态创建一个类