Tôi lo sợ rằng bạn sẽ phải sử dụng Reflection để truy cập vào các thành viên. Thoát chỉ đơn giản là không làm việc trong trường hợp của bạn.
Nhưng đối với bạn, những người quan tâm đến cơ chế thoát tôi đã viết giải thích.
Trong C# bạn có thể sử dụng @ -ign để thoát khỏi từ khóa và sử dụng chúng làm số nhận dạng. Tuy nhiên, điều này không giúp đỡ để thoát khỏi nhân vật không hợp lệ:
bool @bool = false;
Có một cách để viết định danh khác nhau bằng cách sử dụng một dãy thoát Unicode:
int i\u0064; // '\u0064' == 'd'
id = 5;
Có công trình này. Tuy nhiên, ngay cả với thủ thuật này bạn vẫn có thể không sử dụng $ -sign trong một định danh. Đang thử ...
int i\u0024; // '\u0024' == '$'
... cung cấp cho lỗi trình biên dịch "Unexpected character '\u0024'"
. Mã định danh vẫn phải là số nhận dạng hợp lệ! Trình biên dịch C# có thể giải quyết trình tự thoát trong một loại xử lý trước và xử lý định danh kết quả như thể nó đã được nhập bình thường
Vì vậy, điều này thoát tốt cho điều gì? Có lẽ nó có thể giúp bạn, nếu ai đó sử dụng một nhân vật ngoại ngữ mà không phải là trên bàn phím của bạn.
int \u00E4; // German a-Umlaut
ä = 5;
Nguồn
2012-10-09 23:21:27
Bạn đang có một ngày vui vẻ, không phải là bạn? –
Câu trả lời flippant sẽ là "viết lại DLL". –
@AndrewCooper Tôi chắc chắn bằng cách sử dụng Mono.Cecil bạn có thể viết lại những phần của hội đồng. – DaveShaw