Подтвердить что ты не робот

Получение имени родительского класса с использованием Reflection

Как я могу получить имя родительского класса какого-либо класса с помощью Reflection?

4b9b3361

Ответ 1

Так же:

typeof(Typ).BaseType.Name

Ответ 2

Я пришел к этому вопросу, ища класс, объявляющий вложенный класс, который является DeclaringType.

this.GetType().DeclaringType.Name

Возможно, не то, что задал ОП, но, возможно, кто-то еще приходит сюда с теми же критериями поиска, что и я.; -)

Ответ 3

obj.GetType().BaseType.Name

Ответ 4

Вы можете использовать:

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

Ответ 5

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

Ответ 6

Заданный вопрос задает вопрос о родительском типе, который можно получить с помощью:

yourRefVar.GetType().UnderlyingSystemType.Name

Ответ 7

В настоящее время в .NET Core BaseType недоступен, вы можете получить его:

typeof(T).GetTypeInfo().BaseType

Ответ 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;