Возможно ли создать объект без класса в С#?
На многих языках вы можете создать объект без создания типа данных и добавить свойства к этому объекту.
Например, в JS или AS:
var myObject = {};
myObject.myParameter = "hello world";
Или вы можете создавать структуры на C и С++.
Возможно ли это сделать в С#?
Ответы
Ответ 1
Да, есть ExpandoObject
в System.Dynamic
namespace. Вы можете добавлять свойства "на лету", как в других динамических языках.
dynamic dynObject = new ExpandoObject();
dynObject.someProperty= "Value";
http://msdn.microsoft.com/en-us/library/system.dynamic.expandoobject.aspx
Ответ 2
Анонимные типы - это то, что вы ищете. Например -
var v = new { Amount = 108, Message = "Hello" };
Выше кода создаст новый object
со свойствами Amount
и Message
.
Ответ 3
Читайте о ExpandoObject
dynamic myObject = new ExpandoObject();
myObject.myParameter = "hello world";
Console.WriteLine(myObject.myParameter);