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

时间:2011-07-08 14:27:18

标签: c# javascript oop object translation

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

示例Javascript:

var obj = new Object;

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

4 个答案:

答案 0 :(得分:25)

尝试c#匿名类

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

虽然有很多不同......

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

答案 1 :(得分:14)

如果您想创建非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;

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

答案 2 :(得分:5)

在C#中你可以这样做:

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

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

答案 3 :(得分:2)

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

How to create a class dynamically