#endif
В приведенном ниже примере демонстрируется применение директивы #elif.
// Продемонстрировать применение директивы #elif.
#define RELEASE
using System;
class Test {
static void Main() {
#if EXPERIMENTAL
Console.WriteLine('Компилируется для экспериментальной версии.');
#elif RELEASE
Console.WriteLine('Компилируется для окончательной версии.');
#else
Console.WriteLine('Компилируется для внутреннего тестирования.'); #endif
#if TRIAL && !RELEASE
Console.WriteLine('Пробная версия. ') ;
#endif
Console.WriteLine('Присутствует во всех версиях.');
}
}
Этот код выдает следующий результат.
Компилируется для окончательной версии.
Присутствует во всех версиях.
Директива #undef
С помощью директивы #undef удаляется определенный ранее идентификатор. Это, по существу, означает, что он становится 'неопределенным'. Ниже приведена общая форма директивы #undef.
#undef
Рассмотрим следующий пример кода.
#define SMALL
#if SMALL // . . .
#undef SMALL
// теперь идентификатор SMALL не определен.
После директивы #undef идентификатор SMALL уже оказывается неопределенным.
Директива #undef применяется главным образом для локализации идентификаторов только в тех фрагментах кода, в которых они действительно требуются.
Директива #еггог
Директива #error вынуждает компилятор прервать компиляцию. Она служит в основном для отладки. Ниже приведена общая форма директивы #еггог.
#еггог
Когда в коде встречается директива terror, выводится сообщение об ошибке. Например, когда компилятору встречается строка кода
#еггог Это тестовая ошибка!
компиляция прерывается и выводится сообщение 'Это тестовая ошибка ! '.
Директива #warning
Директива #warning действует аналогично директиве terror, за исключением того, что она выводит предупреждение, а не ошибку. Следовательно, компиляция не прерывается. Ниже приведена общая форма директивы #warning.
#warning
Директива #line
Директива #line задает номер строки и имя файла, содержащего эту директиву. Номер строки и имя файла используются при выводе ошибок или предупреждений во время компиляции. Ниже приведена
