KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
Please have a look at my code: I'm trying to create myCar with an Expression Tree. I get an ArgumentException on this line var m = Expression.Lambda<Func<Engine,... The message is Incorrect number of parameters supplied for lambda declaration . 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)) .Compile(); var myCar = m(new Engine("TDI 2.0")); var s = myCar.GetEngineName(); } } I can't figure out what's wrong and where I did the error. Thanks in advance.
Tags (comma-separated)
Save Edits
Cancel