Compartilhar via


#line (Referência de C#)

#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 com números de linha. O #line 200 diretiva força o número de linha a ser 200 (embora o padrão é # 7) e até a próxima diretiva # line, o nome do arquivo será relatada como "Especial". A diretiva padrão # line retorna a sua numeração padrão, a numeração de linha que conta as linhas que foram 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 e 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ê pode 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 percorre o código, qualquer linhas entre um #line hidden e o próximo #line diretiva (supondo que não é outro #line hidden diretiva) ele irá ser apresentado pela. Esta opção também pode ser usada para permitir ao ASP.NET para diferenciar entre o código gerado pelo computador e definidos pelo usuário. Embora o ASP.NET é o consumidor primário desse recurso, é provável que fará com que geradores de origem mais usá-lo.

A #line hidden diretiva não afeta os nomes de arquivo nem números no relatório de erros de linha. Ou seja, se um erro é encontrado em um bloco oculto, o compilador reportará o número de arquivo atual nome e a linha do 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, ele exibirá três linhas de texto. No entanto, quando você definir um ponto de interrupção, como mostrado no exemplo e aperte 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.");
    }
}

Consulte também

Referência

Diretivas de pré-processador em C#

Conceitos

Guia de Programação em C#

Outros recursos

Referência de C#