Cambios en la numeración de líneas
Por defecto el compilador enumera
las líneas de cada fichero fuente según el orden normal en que estas aparecen
en el mismo, y este orden es el que sigue a la hora de informar de errores o de
avisos durante la compilación. Sin embargo, hay situaciones en las que interesa
cambiar esta numeración, y para ello se ofrece una directiva con la siguiente
sintaxis:
#line
<número> “<nombreFichero>”
Esta directiva indica al
preprocesador que ha de considerar que la siguiente línea del fichero fuente en
que aparece es la línea cuyo número se le indica, independientemente del valor
que tuviese según la numeración usada en ese momento. El valor indicado en “<nombreFichero>” es opcional, y en caso de
aparecer indica el nombre que se ha de considerar que tiene el fichero a la
hora de dar mensajes de error. Un ejemplo:
#line 127
“csmace.cs”
Este uso de #line indica que el compilador ha de considerar que la
línea siguiente es la línea 127 del fichero csmace.cs.
A partir de ella se seguirá usando el sistema de numeración normal (la
siguiente a esa será la 128 de csmace.cs,
la próxima la 129,
etc.) salvo que más adelante se vuelva a cambiar la numeración con otra
directiva #line.
Aunque en principio puede parecer que esta directiva es de
escasa utilidad, lo cierto es que suele venir bastante bien para la escritura
de compiladores y otras herramientas que generen código en C# a partir de
código escrito en otros lenguajes.