me temo que tendrá que utilizar la reflexión con el fin de acceder a esos miembros. Escapar simplemente no funciona en su caso.
Pero para aquellos de ustedes que desean escaparse de la mecánica, les he dado una explicación.
En C# puede usar @ -sign para escapar palabras clave y usarlas como identificadores. Sin embargo, esto no ayuda a escapar caracteres no válidos:
bool @bool = false;
Hay una manera de escribir los identificadores de forma diferente mediante el uso de una secuencia de escape Unicode:
int i\u0064; // '\u0064' == 'd'
id = 5;
Si esto funciona. Sin embargo, incluso con este truco, aún no puede usar el $ -sign en un identificador. Probar ...
int i\u0024; // '\u0024' == '$'
... da el error de compilación "Unexpected character '\u0024'"
. ¡El identificador aún debe ser un identificador válido! El compilador de C# probablemente resuelve la secuencia de escape en un tipo de preproceso y trata el identificador resultante como si se hubiera ingresado normalmente
Entonces, ¿para qué sirve este escape? Tal vez te pueda ayudar, si alguien usa un personaje de un idioma extranjero que no está en tu teclado.
int \u00E4; // German a-Umlaut
ä = 5;
Usted está teniendo un día de diversión, no son ¿tú? –
La respuesta frívola sería "reescribir la DLL". –
@AndrewCooper Estoy seguro de que con Mono.Cecil puede volver a escribir esas partes del ensamblaje. – DaveShaw