假设我有这样一个类:
public class Test {
public class InnerTest{}
}
现在我有一个 InnerTest
的 TypeInfo
对象。我该如何找到 Test
的 TypeInfo
对象呢?反过来很简单,我可以使用
GetNestedTypes()
,但我找不到一个方法或属性(除了IsNestedType
)来确定嵌套类的包含类。假设我有这样一个类:
public class Test {
public class InnerTest{}
}
现在我有一个 InnerTest
的 TypeInfo
对象。我该如何找到 Test
的 TypeInfo
对象呢?GetNestedTypes()
,但我找不到一个方法或属性(除了IsNestedType
)来确定嵌套类的包含类。DeclaringType
上定义的。internal class WithGenericArg<T>
{
private T _data;
public WithGenericArg(T data)
{
_data = data;
}
public class Internal
{
public int Foo()
{
return 0;
}
}
public class Internal2<T2>
{
public T2? _data2;
public Internal2(T2? data2)
{
_data2 = data2;
}
public T2? Foo2()
{
return _data2;
}
}
}
当查看Inner
类型时,它的IsGenericType
属性为true,并且GetGenericArguments()
返回1个元素(当类型关闭时,GenericTypeArguments
也返回1个元素)。这是外部类的类型参数(或具体类型)的类型参数。
当查看Inner2
类型时,甚至有两个类型参数,一个用于外部类,一个用于内部类。