Identificadores con acentos... ¿como evitarlos?

26/03/2008 - 22:02 por Néstor Sánchez A. | Informe spam
Hola:
Me acabo de percatar que se admiten identificadores con acento. Ejemplo:
public void getExpresión()

Seguramente escribiendo rápido se me escapó el acento y el compilador C# lo
acepta (seguramente también acepte la "ñ" y otros).
De hecho el código compila y el ejecutable funciona correctamente.
El problema es que otras herramientas (por ejemplo Sandcastle) no soportan
esta característica y se caen.

La pregunta es:
¿Se podrá mediante alguna opción (ya sea de VS o del compilador C#) prohibir
el uso de caracteres extendidos (no ingleses) en los identificadores?
Gracias de antemano.


Néstor.
 

Leer las respuestas

#1 Alberto Poblacion
26/03/2008 - 23:05 | Informe spam
"Néstor Sánchez A." wrote in message
news:%23w7y%
Me acabo de percatar que se admiten identificadores con acento. Ejemplo:
public void getExpresión()

Seguramente escribiendo rápido se me escapó el acento y el compilador C#
lo acepta (seguramente también acepte la "ñ" y otros).
De hecho el código compila y el ejecutable funciona correctamente.



De hecho, el compilador acepta Unicode, así que en el fuente puedes
poner no solo eñes y acentos, sino también caracteres rusos, árabes,
japoneses, griegos...

http://www.u2u.net/Res/images/East1.gif
http://www.u2u.net/Res/images/East2.gif

El problema es que otras herramientas (por ejemplo Sandcastle) no soportan
esta característica y se caen.



Pues no deberían caerse. Eso es un fallo de esas herramientas.

La pregunta es:
¿Se podrá mediante alguna opción (ya sea de VS o del compilador C#)
prohibir el uso de caracteres extendidos (no ingleses) en los
identificadores?



Podrías crear un "plugin", aprovechando las APIs del Visual Studio, para
que te filtre los caracteres o te alerte si introduces uno. Que yo sepa,
hasta ahora nadie lo ha hecho, pero en teoría no debería ser demasiado
complicado.

Preguntas similares