2015-09-09 21 views
7

Có cách nào trong C# để tắt chức năng của từ khóa trong mã không? Trong trường hợp của tôi, tôi muốn xác định một trong những mục enum của tôi như phao mà rõ ràng là làm cho Visual Studio một chút nhầm lẫn :)C# tắt chức năng từ khóa

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

Bạn thường có thể giải quyết điều này bằng cách đặt trước từ khóa với một '@' (ví dụ '@ float') – Iridium

+4

Quy ước đặt tên cho enums là sử dụng các thủ đô (Email, Số, Float, Phạm vi) –

+0

Như trên, nếu bạn sử dụng đúng thủ đô, vấn đề này sẽ biến mất. –

Trả lời

7

về mặt kỹ thuật, bạn có thể làm điều đó như thế:

public enum ValidationType 
{ 
    email, 
    number, 
    @float, // note "@" before "float" 
    range 
} 
Tuy nhiên,

, ngay cả khi đó là có thể để sử dụng các từ khóa làm số nhận dạng thứ tự không phải là thực hành tốt. Có thể là một giải pháp tốt hơn trong trường hợp của bạn là để tận:

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

Bạn không cần phải vô hiệu hóa bất cứ điều gì, bạn chỉ có thể là dấu hiệu trình biên dịch bằng cách sử dụng @ trước tên từ khóa:

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

số Keywords đang được xác định trước đó, một tên reserved có ý nghĩa đặc biệt để trình biên dịch. Chúng không thể được sử dụng làm số nhận dạng trong chương trình của bạn trừ khi chúng bao gồm @ làm tiền tố.

Ví dụ:

  • @if là một định danh hợp lệ nhưng
  • if không phải vì if là một từ khóa.

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

5

Bạn cần phải sử dụng @ trước từ khóa dành riêng như sau:

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