2011-07-08 19 views
11

Czy istnieje prosty sposób tworzenia i Object i ustawić właściwości w języku C#, jak to możliwe w JavaScript.JavaScript "var obj = new Object" Równoważny w C#

Przykład Javascript:

var obj = new Object; 

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

Errm, masz na myśli tworzenie obiektu w ogóle lub tworzenie rzeczywistego obiektu 'System.Object' i dynamiczne dodawanie właściwości? – Yuck

Odpowiedz

22

try C# anonimowe

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

istnieje wiele różnic mimo ...

@Valera Kolupaev & @GlennFerrieLive wspomniano innego podejścia z dynamiczny kluczowe

5

W języku C# można zrobić:

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

EDIT: Trzymanie tutaj oczekiwaniu wyjaśnień od PO, jak może ja źle jego intencje.

klas
12

W przypadku, jeśli chcesz utworzyć un-tyed obiektu korzystanie 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; 

Twój Inną opcją jest użycie anonymous class, ale to będzie pracować dla Ciebie, tylko jeśli chcesz go używać w zakresie sposobu, ponieważ informacja o typie obiektu nie mogą być dostępne z zewnątrz metody zakres.

Powiązane problemy