Последовательность операторов



#elif идентификаторное_выражение

Последовательность операторов

#elif идентификаторное_выражение

Последовательность операторов // . . .

#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

 

Директива #error вынуждает компилятор прервать компиляцию. Она служит в основном для отладки. Ниже приведена общая форма директивы #error.

 

#еrror сообщение_об_ошибке

 

Когда в коде встречается директива terror, выводится сообщение об ошибке. Например, когда компилятору встречается строка кода

 

#еrror Это тестовая ошибка!

 

компиляция прерывается и выводится сообщение "Это тестовая ошибка ! ".

 

 

Директива #warning

 

Директива #warning действует аналогично директиве #error, за исключением того, что она выводит предупреждение, а не ошибку. Следовательно, компиляция не прерывается. Ниже приведена общая форма директивы #warning.

 

#warning предупреждающее_сообщение

 

 

Директива #line

 

Директива #line задает номер строки и имя файла, содержащего эту директиву. Номер строки и имя файла используются при выводе ошибок или предупреждений во время компиляции. Ниже приведена общая форма директивы #line.

 

#line номер ”имя_файла"

 

Имеются еще два варианта директивы #line. В первом из них она указывается с ключевым словом default, обозначающим возврат нумерации строк в исходное состояние, как в приведенном ниже примере.

 

#line default

 

А во втором варианте директива #line указывается с ключевым словом hidden. При пошаговой отладке программы строки кода, находящиеся между директивой

 

#line hidden

 

и следующей директивой #line без ключевого слова hidden, пропускаются отладчиком.

 

 

Директивы #region и #endregion

 

С помощью директив #region и #endregion определяется область, которая разворачивается или сворачивается при структурировании исходного кода в интегрированной среде разработки Visual Studio. Ниже приведена общая форма этих директив:

 

#region текст

// последовательность кода  

#endregion текст

 

где текст обозначает необязательную символьную строку.

 

 

Директива #pragma

 

С помощью директивы #pragma инструкции задаются компилятору в виде опций. Ниже приведена общая форма этой директивы:

 

#pragma опция

 

где опция обозначает инструкцию, передаваемую компилятору.

В текущей версии C# предусмотрены две опции для директивы #pragma. Первая из них, warning, служит для разрешения или запрета отдельных предупреждений со стороны компилятора. Она принимает две формы:

 

#pragma warning disable предупреждения  

#pragma warning restore предупреждения

 

где предупреждения обозначает разделяемый запятыми список номеров предупреждений. Для отмены предупреждения используется опция disable, а для его разрешения — опция restore.

Например, в приведенной ниже директиве #pragma запрещается выдача предупреждения №168, уведомляющего о том, что переменная объявлена, но не используется.

 

#pragma warning disable 168

 

Второй для директивы #pragma является опция checksum. Она служит для формирования контрольной суммы в проектах ASP.NET. Ниже приведена ее общая форма:

 

#pragma checksum "имя_файла" "{GUID}" "контрольная_сумма"

 

где имя_файла обозначает конкретное имя файла; GUID — глобально уникальный идентификатор, с которым связано имя_файла ; контрольная_сумма — шестнадцатеричное число, представляющее контрольную сумму. У этой контрольной суммы должно быть четное число цифр.

 

 


Дата добавления: 2019-02-12; просмотров: 268; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!