2010-03-28 60 views
24

我的方法是這樣的:當我在我的方法中傳遞泛型時,如何獲得類名?

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

} 
從方法中

現在,我需要,我被傳遞到方法的「OBJ」參數中的類名的字符串值。

所以,如果我通過用戶對象,我需要文本'用戶'。

獲取屬性我使用:typeof(T).GetProperties()

我怎樣才能得到類的名字嗎?

回答

47

只需使用.Name這樣的:

typeof(T).Name 

這給出了例如 「字符串」,這裏還有.FullName這將使 「System.String」

1
typeof(T).Name //would work 

但是根據它並根據它作出決定可能不是一個好主意。

這裏的重要規則是,您應該儘可能使用FullName。

例如在switch case語句或其他塊或字典鍵中。

類名不是理想的東西,因爲你可能在不同的命名空間中有 具有相同的類名。 NamespaceA.String和NamespaceB.String是完全可能的...

相關問題