Javascript "var obj = new Object" Эквивалент в С#
Есть ли простой способ создать и Object и установить свойства в С#, как вы можете в Javascript.
Пример Javascript:
var obj = new Object;
obj.value = 123476;
obj.description = "this is my new object";
obj.mode = 1;
Ответы
Ответ 1
попробуйте анонимные классы С#
var obj = new {
value = 123475,
description = "this is my new object",
mode = 1 };
Есть много различий, хотя...
@Валера Колупаев и @GlennFerrieLive упомянул еще один подход с динамическим ключевым словом
Ответ 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;
Другой вариант - использовать анонимный класс, но это сработает для вас, только если вы будете использовать его в рамках метода, так как информация о типе объекта недоступна из-за пределов области метода.
Ответ 3
В С# вы можете сделать:
var obj = new SomeObject {
value = 123476,
description = "this is my new object",
mode = 1
};
РЕДАКТИРОВАТЬ: Держать это здесь в ожидании разъяснения от ОП, поскольку я, возможно, неправильно понял его намерения.
Ответ 4
Как это сделать, вы используете С# 4.0 Динамические типы, такие как Expando Object... см. эту тему:
Как создать класс динамически