lundi 16 mars 2015

So I have some code that sets a property on an object.



Expression<Func<string>> propertyToValidate; //passed in above

var underlyingProperty = ((PropertyInfo)((MemberExpression)propertyToValidate.Body).Member);

underlyingProperty.SetValue(objectUnderTest, excessivelyLargeNameValue);


And this works well, when propertyToValidate is something like "Car.Name or Fish.Color". Now I have situations where I want to pass nested paths, something like Car.Door.Handle.Name or Fish.Fin.Style or something of that sort. When I try to do that, I receive an error:



Object does not match target type.



I suspect it is trying to call the Name property on the Car, instead of the Handle. How can I modify my code to handle this 'nested' case?






Aucun commentaire:

Enregistrer un commentaire