Javascript“var obj = new Object”在C#中的等价物
Posted
技术标签:
【中文标题】Javascript“var obj = new Object”在C#中的等价物【英文标题】:Javascript "var obj = new Object" Equivalent in C# 【发布时间】:2011-10-01 08:08:54 【问题描述】:有没有一种简单的方法可以像在 javascript 中一样在 C# 中创建对象和设置属性。
示例 Javascript:
var obj = new Object;
obj.value = 123476;
obj.description = "this is my new object";
obj.mode = 1;
【问题讨论】:
呃,你的意思是一般地创建一个对象还是创建一个实际的System.Object
并动态添加属性?
【参考方案1】:
试试c#匿名类
var obj = new
value = 123475,
description = "this is my new object",
mode = 1 ;
虽然有很多不同...
@Valera Kolupaev 和 @GlennFerrieLive 提到了另一种使用 dynamic 关键字的方法
【讨论】:
【参考方案2】:如果您想创建未绑定的对象,请使用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 ,但这对您有用,前提是您将在方法范围内使用它,因为无法从方法范围之外访问对象类型信息。
【讨论】:
【参考方案3】:在 C# 中你可以这样做:
var obj = new SomeObject
value = 123476,
description = "this is my new object",
mode = 1
;
编辑:在这里等待 OP 的澄清,因为我可能误解了他的意图。
【讨论】:
【参考方案4】:执行此操作的方法是使用 C# 4.0 动态类型,例如 Expando 对象...请参阅此主题:
How to create a class dynamically
【讨论】:
以上是关于Javascript“var obj = new Object”在C#中的等价物的主要内容,如果未能解决你的问题,请参考以下文章
javascript JavaScript isset()等效: - JavaScript
JavaScript 使用JavaScript更改CSS(JavaScript)