相关疑难解决方法(0)

为lambda声明提供的参数数量不正确

请看一下我的代码:我正在尝试myCar使用表达式树创建.

ArgumentException在这一行得到一条var m = Expression.Lambda<Func<Engine,... 消息是为lambda声明提供的参数数量不正确.

public class Engine
{
    public string Name { get; private set; }
    public Engine(string name)
    {
        Name = name;
    }
}
public class Car
{
    private readonly Engine engine;
    public Car(Engine engine)
    {
        this.engine = engine;
    }
    public string GetEngineName(){return engine.Name;}
}
class Program
{
    static void Main(string[] args)
    {
        var ci = typeof (Car).GetConstructor(new[] {typeof (Engine)});

        var engine = Expression.Parameter(typeof (Engine));

        var m = Expression.Lambda<Func<Engine,Car>>(Expression.New(ci, engine)) …
Run Code Online (Sandbox Code Playgroud)

.net c# lambda expression-trees

6
推荐指数
1
解决办法
5651
查看次数

标签 统计

.net ×1

c# ×1

expression-trees ×1

lambda ×1