В C# 3.0 вы можете создать анонимный класс со следующим синтаксисом < /p>
var o1 = new { Id = 1, Name = "Foo" };
< /code>
Есть ли способ динамического создания этого анонимного класса с переменной?var o1 = new { Id = 1, Name = "Foo" };
var o2 = new { SQ = 2, Birth = DateTime.Now };
< /code>
Динамический пример создания:
< /p>
var o1 = DynamicNewAnonymous(new NameValuePair("Id", 1), new NameValuePair("Name", "Foo"));
var o2 = DynamicNewAnonymous(new NameValuePair("SQ", 2), new NameValuePair("Birth",
DateTime.Now));
< /code>
beacuse Мне нужно сделать: < /p>
dynamic o1 = new ExpandObject();
o1."ID" = 1;
void ShowPropertiesValue(object o)
{
Type oType = o.GetType();
foreach(var pi in oType.GetProperties())
{
Console.WriteLine("{0}={1}", pi.Name, pi.GetValue(o, null));
}
}
< /code>
Если я вызову: < /p>
dynamic o1 = new ExpandObject();
o1.Name = "123";
ShowPropertiesValue(o1);
< /code>
не может показать результат: < /p>
Name = 123
< /code>
, а также как преобразовать Expandoobject в AnonymouseType? < /p>
Type type = o1.GetType();
type.GetProperties();
Последнее, я изменяю метод showpropertiesvalue () < /p>
void ShowPropertiesValue(object o)
{
if( o is static object )
Подробнее здесь: https://stackoverflow.com/questions/374 ... mous-class