2011-07-08 7 views
11

Javascriptのように、C#で簡単にオブジェクトを作成してプロパティを設定できますか?Javascript "var obj = new Object" C#に相当する

例Javascriptを:あなたができるのC#で

var obj = new Object; 

obj.value = 123476; 
obj.description = "this is my new object"; 
obj.mode = 1; 
+3

Errm、一般的にオブジェクトを作成したり、実際の 'System.Object'を作成してプロパティを動的に追加することを意味しますか? – Yuck

答えて

22

トライC#の匿名クラス

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

違いがたくさんあるけれども...

@Valera Kolupaev & @GlennFerrieLiveダイナミックキーワードで

5

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

編集:私は彼の意図を誤解していることとしてOPからこのここに保留中の明確化を開催。

2

を別のアプローチを述べましたこれを行う方法は、ExpandoのようなC#4.0の動的型を使用することですオブジェクトは...このトピックを参照してください。

How to create a class dynamically

12

場合、あなたは非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; 

あなたの他のオプションは、anonymous classを使用することですが、これはオブジェクトの型情報は、メソッドの外からアクセスすることはできませんので、あなたは、メソッドのスコープでそれを使用する場合にのみ、あなたのために動作します範囲。

関連する問題