Udostępnij za pośrednictwem


#line (odwołanie w C#)

#linePozwala zmodyfikować numer wiersza kompilator i (opcjonalnie) wyjścia nazwę pliku dla błędów i ostrzeżeń.W tym przykładzie przedstawiono dwa ostrzeżenia związane z numerów wierszy raportu.#line 200 Dyrektywy siły numeru wiersza, który ma być 200 (chociaż jest to wartość domyślna to # 7) i aż do następnego dyrektywy line, nazwa pliku będą raportowane jako "Special".Dyrektywa default Line zwraca linii numerowanie do jej domyślnego numerowania, który zlicza wiersze, które zostały oznaczenie przez poprzednie dyrektywy.

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
    }
}

Uwagi

#line Dyrektywy mogą być wykorzystywane podczas automatycznego, pośredniego etapu procesu kompilacji.Na przykład, jeśli linie zostały usunięte z oryginalnego pliku kodu źródłowego, ale nadal chciał kompilator będzie generował dane wyjściowe na podstawie wiersza oryginalnego numerowania w pliku, użytkownik może usunąć wiersze i następnie symulowanie oryginalnego numerację wierszy z #line.

#line hidden Dyrektywy ukrywa kolejnych wierszy z debugerem, takie, że gdy autora przeprowadza się przez kod, dowolne linie między #line hidden , a następna #line dyrektywy (zakładając, że nie jest innym #line hidden dyrektywy) będzie skokowego nad.Ta opcja umożliwia również umożliwić ASP.NET, aby odróżnić kod zdefiniowany przez użytkownika i generowane przez komputer.Chociaż program ASP.NET jest konsumenta podstawowego z tej funkcji, jest prawdopodobne, że więcej źródła, wprowadzone przez generatory używać go.

A #line hidden dyrektywa nie wpływa na nazwy pliku lub numery w raportowaniu błędów linii.Oznacza to, że jeśli wystąpi błąd w bloku ukryte, kompilator zgłosi bieżącego pliku nazwa i wiersza numer błędu.

#line filename Dyrektywy określa nazwę pliku, który ma się pojawiać w dane wyjściowe kompilatora.Domyślnie używany jest rzeczywistej nazwy pliku kodu źródłowego.Nazwa pliku musi być w podwójny cudzysłów ("") i musi być poprzedzona numerem wiersza.

Plik kodu źródłowego może zawierać dowolną liczbę #line dyrektyw.

Przykład 1

Poniższy przykład pokazuje, jak narzędzie debugger ignoruje ukryte wiersze w kodzie.Podczas uruchamiania przykładu wyświetli trzy wiersze tekstu.Jednakże gdy ustaw punkt przerwania, jak pokazano w przykładzie i hit F10, aby przejść przez kod będzie się zauważyć, że debuger ignoruje ukryty wiersz.Również należy zauważyć, że nawet jeśli punkt przerwania jest ustawiona w wierszu ukryte, debuger nadal zignoruje ją.

// 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.");
    }
}

Zobacz też

Informacje

Dyrektywy preprocesora C#

Koncepcje

Przewodnik programowania w języku C#

Inne zasoby

Odwołanie w C#