繁体   English   中英

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

[英]Javascript “var obj = new Object” Equivalent in 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 ...请参阅此主题:

如何动态创建一个类

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM