2015-09-09 4 views
7

Есть ли способ в C# отключить функциональность ключевого слова в коде? В моем случае я хочу, чтобы определить один из моих перечислений элементов, как поплавка, который, очевидно, делает Visual Studio немного перепутал :)C# отключить функциональность ключевого слова

public enum ValidationType 
{ 
    email, 
    number, 
    float, 
    range 
} 
+1

Вы можете решить эту проблему, как правило, предваряя ключевое слово с '@' (например, '@ float') – Iridium

+4

Соглашение об именах для перечислений заключается в использовании капиталов (Email, Number, Float, Range) –

+0

Как и выше, если вы используете правильные капиталы, этот вопрос уходит. –

ответ

7

Технически, вы можете сделать это так:

public enum ValidationType 
{ 
    email, 
    number, 
    @float, // note "@" before "float" 
    range 
} 

однако, даже если это возможно использовать ключевые слова в качестве порядковых идентификаторов это не хорошая практика. Вероятно, лучшее решение в вашем случае является капитализировать:

public enum ValidationType 
{ 
    Email, 
    Number, 
    Float, 
    Range 
} 
3

Вам не нужно отключить что-либо, вы можете просто сигнализировать компилятор с помощью @ перед именем ключевых слов:

public enum ValidationType 
{ 
    email, 
    number, 
    @float, 
    range 
} 
6

No. Keywords предопределенные, зарезервированные идентификаторы, которые имеют специальное значение для компилятора. Они не могут использоваться в качестве идентификаторов в вашей программе, если они не включают @ в качестве префикса.

Например:

  • @if является допустимым идентификатором, но
  • if не потому, что if является ключевым словом.

https://msdn.microsoft.com/en-us/library/x53a06bb.aspx

5

Вы должны использовать @ перед тем зарезервированным ключевым словом, как следующее:

public enum ValidationType 
{ 
    email, 
    number, 
    @float, 
    range 
} 
Смежные вопросы