2010-04-29 78 views
2

所以, 我想獲得一個枚舉或類的名稱,而不附加到它前面的完整的命名空間...例如:獲取不帶名稱空間的枚舉或類的字符串名稱?

enum MyEnum { 
    // enum values here 
} 

// somewhere else in the code 
string testString = ???? // ???? returns "MyEnum" 

typeof(MyEnum)主要工作,但是的命名空間枚舉被附加到前面。

任何幫助將不勝感激......謝謝!

回答

8

使用.Name只得到字符串中的類型,就像這樣:

string testString = typeof(MyEnum).Name; 

下面是一些例子:以上

typeof(String).Name // "String" 
typeof(String).FullName // "System.String" 

.FullName喜歡的例子給出了完整的類型名稱,包括命名空間。

+0

完美的感謝...我不知道typeof()有這麼多漂亮的屬性。我甚至沒想過去檢查它的智能感受。 – Polaris878 2010-04-29 17:06:44

+0

@Polaris - 當你調用它時,你會得到一個['System.Type'](http://msdn.microsoft.com/en-us/library/1ek3kwtc.aspx),所以你想使用它for :) – 2010-04-29 17:08:53

+0

應該指出'typeof(Dictionary ).name'返回'Dictionary'2'(但是用反引號代替撇號),對於所有其他泛型類型也是如此。 – Timwi 2011-05-04 20:16:09

相關問題