Можно ли создать объект без класса в C#?

во многих языках можно создать объект без создания типа данных, и добавлять свойства к объекту.

например в JS или как:

 var myObject = {};
 myObject.myParameter = "hello world";

или вы можете создавать структуры на C и c++.

можно ли это сделать в C#?

3 ответов


Да нет ExpandoObject под System.Dynamic пространство имен.Вы можете добавлять свойства на лету, как и в других динамических языках

dynamic dynObject = new ExpandoObject();
dynObject.someProperty= "Value";

http://msdn.microsoft.com/en-us/library/system.dynamic.expandoobject.aspx


Анонимные Типы это то, что вы искали. ЭГ -

var v = new { Amount = 108, Message = "Hello" };

выше код создаст новый object свойства Amount и Message.


читать про ExpandoObject

dynamic myObject = new ExpandoObject();
myObject.myParameter = "hello world";

Console.WriteLine(myObject.myParameter);