n ºlinha (C# referência)
#linepermite modificar o número da linha do compilador e (opcionalmente) a saída de nome de arquivo para erros e avisos. Este exemplo mostra como denunciar dois avisos associados a números de linha. O #line 200 diretiva força o número da linha a ser 200 (embora o padrão é 7) e até a próxima diretiva # line, o nome do arquivo será reportado como "Especial". A diretiva padrão de # line retorna a sua numeração padrão, a numeração de linha que conta as linhas a serem renumeradas pela diretiva anterior.
class MainClass
{
static void Main()
{
#line 200 "Special"
int i; // CS0168 on line 200
int j; // CS0168 on line 201
#line default
char c; // CS0168 on line 9
float f; // CS0168 on line 10
#line hidden // numbering not affected
string s;
double d; // CS0168 on line 13
}
}
Comentários
O #line diretiva pode ser usada em uma etapa automatizada, intermediária no processo de compilação. Por exemplo, se linhas foram removidas do arquivo de código fonte original, mas ainda quiser o compilador gere com base na linha original de numeração no arquivo de saída, você poderia remover linhas e simular a numeração de linha original com #line.
O #line hidden diretiva oculta as linhas sucessivas do depurador, de modo que quando o desenvolvedor as etapas através do código, qualquer linhas entre um #line hidden e o próximo #line diretiva (supondo que não é outro #line hidden diretiva) será sobre lançamento escalonado. Esta opção também pode ser usada para permitir o ASP.NET para diferenciar entre código definido pelo usuário e gerado pelo computador. Embora o ASP.NET é o consumidor primário desse recurso, é provável que tornarão geradores de origem mais usá-lo.
A #line hidden diretiva não afeta os nomes de arquivo ou números no relatório de erros de linha. Ou seja, se um erro é encontrado em um bloco oculto, o compilador relatará o atual arquivo nome e número da linha o erro.
O #line filename diretiva especifica o nome do arquivo que você deseja que apareça na saída do compilador. Por padrão, o nome real do arquivo de código-fonte é usado. O nome do arquivo deve estar entre aspas duplas ("") e deve ser precedido por um número de linha.
Um arquivo de código-fonte pode ter qualquer número de #line diretivas.
Exemplo 1
O exemplo a seguir mostra como o depurador ignora as linhas ocultas no código. Quando você executar o exemplo, ela exibirá três linhas de texto. No entanto, quando você definir um ponto de interrupção, conforme mostrado no exemplo e pressione F10 para depurar o código, você irá notar que o depurador ignora a linha oculta. Observe também que, mesmo se você definir um ponto de interrupção na linha de oculta, o depurador irá ainda ignorá-la.
// preprocessor_linehidden.cs
using System;
class MainClass
{
static void Main()
{
Console.WriteLine("Normal line #1."); // Set break point here.
#line hidden
Console.WriteLine("Hidden line.");
#line default
Console.WriteLine("Normal line #2.");
}
}