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
精彩评论