Type.GetProperty
Situations in which AmbiguousMatchException occurs …
…derived type declares a property that hides an inherited property with the same name, by using the new modifier
If you run the following
var properties = myDE.GetType().GetProperties().Where(p => p.Name == "MyEntity");
you will see that two PropertyInfo
objects are returned. One for MyBaseEntity
and one for MyDerivedEntity
. That is why you are receiving the Ambiguous match found error.
You can get the PropertyInfo
for MyDerivedEntity
like this:
PropertyInfo propInfoSrcObj = myDE.GetType().GetProperties().Single(p =>
p.Name == "MyEntity" && p.PropertyType == typeof(MyDerivedEntity));