使用反射获取嵌套类型的容器类型

jes*_*ing 25 .net c# reflection

说我有这样一个类:

public class Test {
    public class InnerTest{}
}
Run Code Online (Sandbox Code Playgroud)

现在有一个TypeInfo对象InnerTest.我怎样才能找到TypeInfoTest 的对象InnerTest

反过来很简单,我可以使用GetNestedTypes(),但我找不到方法或属性(除了IsNestedType)以找出嵌套类的包含类.

Mar*_*921 34

您可以通过检索属性"DeclaringType"来获取此信息.

引用MSDN:

如果当前类型是嵌套类型,则表示封闭类型的Type对象; 或者泛型类型定义,如果当前类型是泛型类型的类型参数; 或者声明泛型方法的类型,如果当前类型是泛型方法的类型参数; 否则,null.

http://msdn.microsoft.com/en-us/library/system.type.declaringtype.aspx


ikh*_*ikh 5

听起来你在寻找Type.DeclaringType房产.