.NET reflection - Get Declaring class type from instance property
Is it possible to get the type of a class from a property instance
I tried the following
var model = new MyModel("SomeValueForMyPr开发者_开发百科operty")
Type declaringType = model.MyProperty.GetType().DeclaringType
But the result is always not for both DeclaringType and ReflectedType
There is no direct link from a Type
to a class declaring a property of that type.
You'll need to use a PropertyInfo
:
PropertyInfo propInfo = model.GetType().GetProperty("MyProperty");
// get the property value:
object value = propInfo.GetValue(model, null);
// get the property's declaring type:
Type declaringType = propInfo.DeclaringType;
精彩评论