I want to be able to call a method that creates an object and sets properties of the object based on the parameters passed into the method. The number of parameters is arbitrary, but the catch is I don’t want to use strings. I want to use the actual properties sort of like you do in lambda expressions.
I want to be able to call the method with something that might look like this:
controller.Create<Person>(f=>{f.Name = 'John', f.Age = 30})
or something along those lines where I use the actual property reference (f.Name) instead of a string representation of the property.
Another stipulation is that I don’t want any work to be done before the method call. I’m writing this in a library, so I don’t want the user to have to do anything except make the call and get back an object with the properties set to the values passed in.
You can do something like:
The create method signature will be:
where T : classis not strictly required here but ifTis a value type, the modifications to its properties would be lost.