开发者

Javascript "var obj = new Object" Equivalent in C#

Is there an easy way to create and Object and set properties in C# like you can in Javascript.

Example Javascript:

var obj = new Object;

obj.value = 123476;
obj.description = "this is my new object";
obj.mode 开发者_开发百科= 1;


try c# anonymous classes

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

there are lots of differences though...

@Valera Kolupaev & @GlennFerrieLive mentioned another approach with dynamic keyword


In case, if you want to create un-tyed object use 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;

Your other option is to use anonymous class , but this will work for you, only if you would use it in the scope of the method, since the object type information can't be accessed from outside of the method scope.


In C# you could do:

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

EDIT: Holding this here pending clarification from OP as I may have misunderstood his intentions.


The way to do this is you use C# 4.0 Dynamic types like Expando Object... see this topic:

How to create a class dynamically

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜