当我在我的方法中传递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是完全可能的……