Ответ 1
Просто используйте .Name
следующим образом:
typeof(T).Name
Это дает, например, "String", там также .FullName
, который даст "System.String"
Мой метод выглядит так:
public string DoObjectProperties<T>(T obj, string text)
{
}
Теперь изнутри метода мне нужно получить строковое значение имени класса, которое я передаю в параметр "obj" метода.
Итак, если я передаю объект User, мне нужен текст "пользователь".
Чтобы получить свойства, которые я использую: typeof(T).GetProperties()
Как получить имя класса?
Просто используйте .Name
следующим образом:
typeof(T).Name
Это дает, например, "String", там также .FullName
, который даст "System.String"
typeof(T).Name
?
typeof(T).Name //would work
Но в зависимости от этого и принятия решений на его основе, вероятно, не очень хорошая идея.
Важным правилом здесь является то, что вы, вероятно, должны использовать FullName, когда это возможно.
Например, в операторах case switch или в блоках if else или в словарных словах.
Имя класса не является идеальной вещью, от которой зависит имеют одинаковое имя класса в разных пространствах имен. NamespaceA.String и NamespaceB.String вполне возможно...