当我在我的方法中传递generics时,如何获取类名?

我的方法看起来像:

public string DoObjectProperties(T obj, string text) { } 

现在从方法中,我需要获取我传递给方法的’obj’参数的类名的字符串值。

因此,如果我传入User对象,我需要文本’user’。

获取我正在使用的属性: typeof(T).GetProperties()

我怎样才能获得课程名称?

只需像这样使用.Name

 typeof(T).Name 

这给出了例如“String”,还有.FullName会给出“System.String”

typeof(T).Name

 typeof(T).Name //would work 

但依靠它并根据它做出决定可能不是一个好主意。

这里的重要规则是你可能应该尽可能使用FullName。

例如,在switch case语句中或if else块或字典键中。

类名不是理想的依赖项,因为您可能在不同的名称空间中具有相同的类名。 NamespaceA.String和NamespaceB.String是完全可能的……