#define (odwołanie w C#)
Do zdefiniowania symbolu używa się #define .Kiedy używasz symbolu jako wyrażenia, które jest przekazywane do dyrektywy #if, wyrażenie oceni do true, jak pokazuje poniższy przykład:
#define DEBUG
Uwagi
[!UWAGA]
Dyrektywy #define nie można użyć do deklaracji wartości stałych, jak odbywa się zwykle w C i C++.Stałe języka C# najlepiej są określane jako elementy statyczne klasy lub struktury.Jeśli posiadasz kilka takich stałych, należy rozważyć utworzenie oddzielnej klasy „stałe” w celu przechowania.
Symbole mogą służyć do określenia warunków dla kompilacji.Możesz testować symbol za pomocą #if lub #elif.Można również użyć atrybutu conditional, aby przeprowadzić warunkową kompilację.
Możesz zdefiniować symbol, ale nie możesz przypisać wartości do symbolu.Dyrektywa #define musi pojawiać się w pliku przed użyciem wszelkich instrukcji, które nie są również dyrektywami preprocesora.
Możesz również zdefiniować symbol za pomocą opcji kompilatora /define.Możesz odwrócić definiowanie symbolu za pomocą #undef.
Symbol, który zdefiniujesz z /define lub #define nie są w konflikcie ze zmienną o tej samej nazwie.Oznacza to, że nazwa zmiennej nie powinna być przekazywana do dyrektywy preprocesora i symbol może być oceniany tylko przez dyrektywy preprocesora.
Zakres symbolu został utworzony przy użyciu #define jest plikiem, w którym symbol został zdefiniowany.
Jak w poniższym przykładzie, należy umieścić #define dyrektywę w górnej części pliku.
#define DEBUG
//#define TRACE
#undef TRACE
using System;
public class TestDefine
{
static void Main()
{
#if (DEBUG)
Console.WriteLine("Debugging is enabled.");
#endif
#if (TRACE)
Console.WriteLine("Tracing is enabled.");
#endif
}
}
// Output:
// Debugging is enabled.
Przykład usunięcia definicji symbolu – zobacz: #undef (odwołanie w C#).
Zobacz też
Zadania
Porady: kompilowanie warunkowe ze śledzeniem i debugowaniem
Informacje
Koncepcje
Przewodnik programowania w języku C#