在C# 3.0中,您可以使用表达式(Expression)来创建一个具有以下语法的类:
var exp = Expression.New(typeof(MyClass));
var lambda = LambdaExpression.Lambda(exp);
object myObj = lambda.Compile().DynamicInvoke();
但是如何使用表达式来创建匿名类?
//anonymousType = typeof(new{ Name="abc", Num=123});
Type anonymousType = Expression.NewAnonymousType??? <--How to do ?
var exp = Expression.New(anonymousType);
var lambda = LambdaExpression.Lambda(exp);
object myObj = lambda.Compile().DynamicInvoke();
var exp = Expression.New(typeof(MyClass));
示例,似乎他所谓的“创建一个类”实际上是“创建一个现有类的实例”。如果他想要创建一个新类,那么它不可能是匿名的,这是没有意义的。 - Gabe