2010-04-29 2 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() было так много отличных свойств. Я даже не думал, чтобы проверить intellisense для него ха-ха. – Polaris878

+0

@Polaris - Когда вы его вызываете, вы получаете ['System.Type'] (http://msdn.microsoft.com/en-us/library/1ek3kwtc.aspx), чтобы все, что вы хотите использовать для :) –

+0

Следует отметить, что 'typeof (Dictionary ). Name' возвращает' Dictionary'2' (но с backtick вместо апострофа) и аналогично для всех других типов. – Timwi

Смежные вопросы