获取使用反射父类的名字(Getting parent class' name using R

2019-07-21 02:18发布

我怎样才能得到父类使用反射一些类的名字吗?

Answer 1:

像这样:

typeof(Typ).BaseType.Name


Answer 2:

我来到这个问题寻求它声明一个嵌套类,这是DeclaringType类。

this.GetType().DeclaringType.Name

也许不是什么OP问,但也许别人来这里同样的搜索条件我。 ;-)



Answer 3:

obj.GetType().BaseType.Name


Answer 4:

您可以使用:

string baseclassName = typeof(MyClass).BaseType.Name;


Answer 5:

        Type type = obj.GetType();
        Type baseType = type.BaseType;
        string baseName = baseType.Name;


Answer 6:

上面的问题是问父类型,这可以使用被检索:

yourRefVar.GetType().UnderlyingSystemType.Name



Answer 7:

目前在.NET的核心,BASETYPE不可用,则可以通过检索:

typeof(T).GetTypeInfo().BaseType


Answer 8:

我想补充一些更多的细节,如果你需要找到最终的父类类的,这个代码可以帮助。 我认为,我不知道是否type是一个类或接口。

do
{
    if (type.IsInterface)
        if (type.BaseType == null)
            break;

    if (type.IsClass)
        if (type.BaseType == typeof(object))
            break;

    type = type.BaseType;

} while (true);

string ultimateBaseTypeName = type.Name;


文章来源: Getting parent class' name using Reflection