嵌套类型说我有一类这样的:获取容器类型使用反射
public class Test {
public class InnerTest{}
}
现在有一个TypeInfo
对象InnerTest
。我如何从InnerTest
找出TypeInfo
的测试对象?
其他的方法很简单,我可以使用GetNestedTypes()
,但我找不到一个方法或属性(IsNestedType
除外)来找出嵌套类的包含类。
嵌套类型说我有一类这样的:获取容器类型使用反射
public class Test {
public class InnerTest{}
}
现在有一个TypeInfo
对象InnerTest
。我如何从InnerTest
找出TypeInfo
的测试对象?
其他的方法很简单,我可以使用GetNestedTypes()
,但我找不到一个方法或属性(IsNestedType
除外)来找出嵌套类的包含类。
您可以通过检索属性“DeclaringType”来获得此信息。
引用MSDN:
表示封闭类型A型对象,如果当前类型是嵌套类型;或泛型类型定义,如果当前类型是泛型类型的类型参数;或者声明泛型方法的类型,如果当前类型是泛型方法的类型参数;否则为空。
http://msdn.microsoft.com/en-us/library/system.type.declaringtype.aspx
听起来你正在寻找Type.DeclaringType
财产。
这样一个简单的解决方案。我一直在疯狂地使用Google – jessehouwing 2012-07-30 15:14:22