Javascript "var obj = new Object"在c#中等价
本文关键字:quot var obj Javascript new Object | 更新日期: 2023-09-27 18:01:29
是否有一种简单的方法可以像在Javascript中那样在c#中创建对象和设置属性?
示例Javascript:
var obj = new Object;
obj.value = 123476;
obj.description = "this is my new object";
obj.mode = 1;
try c#匿名类
var obj = new {
value = 123475,
description = "this is my new object",
mode = 1 };
尽管有很多不同之处……
@Valera Kolupaev &@GlennFerrieLive提到了另一种使用动态关键字
在这种情况下,如果您想创建无类型对象,请使用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…参见本主题:
如何动态创建类