/define (определение препроцессора) (параметр компилятора C#)
Обновлен: Июль 2008
Параметр /define определяет name как символ во всех файлах исходного кода программы.
/define:name[;name2]
Аргументы
- name, name2
Имя из одного или нескольких символов, которые требуется определить.
Заметки
Параметр /define оказывает такое же влияние, что и использование директивы препроцессора #define, за исключением того, что параметр компилятора влияет на все файлы проекта. Этот символ остается определенным в исходном файле до тех пор, пока директива #undef в исходном файле не удалит определение. При использовании параметра /define директива #undef в одном файле не влияет на другие файлы исходного кода в проекте.
Созданные с помощью этого параметра символы можно использовать с директивами #if, #else, #elif и #endif для условной компиляции исходного кода.
/d является короткой формой /define.
Можно определить несколько символов при помощи параметра /define, отделяя имена символов точкой с запятой или запятой. Пример.
/define:DEBUG;TUESDAY
Сам компилятор C# не определяет символы или макросы, используемые в исходном коде; все определения символов должны быть заданы пользователем.
Примечание. |
---|
В C# директива #define не позволяет присвоить символу значение, в отличие от других языков, таких как C++. Например, #define не может использоваться для создания макроса или определения константы. Для определения константы необходимо использовать переменную enum. Для создания макросов в стиле C++ можно использовать альтернативные варианты, такие как универсальные шаблоны. Поскольку макросы заведомо являются источниками ошибок, в C # запрещено их использование, но предоставлены более безопасные альтернативы. |
Установка данного параметра компилятора в среде разработки Visual Studio
Откройте страницу Свойства проекта.
На вкладке Построение введите символ, который должен быть определен в поле Символы условной компиляции. Например, при использовании показанного далее примера кода просто введите в текстовое поле xx.
Дополнительные сведения об установке этого параметра компилятора программным путем см. в разделе DefineConstants.
Пример
// preprocessor_define.cs
// compile with: /define:xx
// or uncomment the next line
// #define xx
using System;
public class Test
{
public static void Main()
{
#if (xx)
Console.WriteLine("xx defined");
#else
Console.WriteLine("xx not defined");
#endif
}
}
См. также
Другие ресурсы
Свойства проекта (Visual Studio)
Журнал изменений
Дата |
Журнал изменений |
Причина |
---|---|---|
Июль 2008 |
Изменены данные в разделе примечаний, чтобы показать, что параметр будет оказывать влияние на все файлы, пока не встретится директива #undef. |
Исправление ошибки содержимого. |