#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
Koncepcje
Przewodnik programowania w języku C#