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

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

Мой метод выглядит так:

public string DoObjectProperties<T>(T obj, string text)
{

}

Теперь изнутри метода мне нужно получить строковое значение имени класса, которое я передаю в параметр "obj" метода.

Итак, если я передаю объект User, мне нужен текст "пользователь".

Чтобы получить свойства, которые я использую: typeof(T).GetProperties()

Как получить имя класса?

4b9b3361

Ответ 1

Просто используйте .Name следующим образом:

typeof(T).Name

Это дает, например, "String", там также .FullName, который даст "System.String"

Ответ 2

typeof(T).Name?

Ответ 3

typeof(T).Name //would work

Но в зависимости от этого и принятия решений на его основе, вероятно, не очень хорошая идея.

Важным правилом здесь является то, что вы, вероятно, должны использовать FullName, когда это возможно.

Например, в операторах case switch или в блоках if else или в словарных словах.

Имя класса не является идеальной вещью, от которой зависит имеют одинаковое имя класса в разных пространствах имен. NamespaceA.String и NamespaceB.String вполне возможно...