Могу ли я иметь глобальные определения препроцессора в библиотеке C#?C#

Место общения программистов C#
Ответить
Anonymous
 Могу ли я иметь глобальные определения препроцессора в библиотеке C#?

Сообщение Anonymous »

В C# можно выполнить условную компиляцию, используя макросы, аналогичные синтаксису C/C++. Это позволит осуществить следующее:

Код: Выделить всё

#define MYMACRO
....
#if MYMACRO
//some C# code logic
#else
//some other C# code logic
Мне нужно определить некоторые макросы в выделенном файле проекта библиотеки C#, и мне нужно, чтобы эти макросы были видны внутри всей библиотеки после определения. Проблема в том, что приведенный выше код работает только для одного файла.

Другой известный мне способ обойти эту проблему — добавить макросы в команду сборки. Это позаботится об определении макросов для всей .dll, и проверки #if - #else будут работать везде, где я захочу, внутри библиотеки. Проблема с этим подходом заключается в том, что я хочу иметь возможность легко поддерживать макросы. Идеально было бы иметь их в файле внутри проекта. Я также хотел бы иметь некоторые комментарии внутри, чтобы знать, что делает каждый макрос. Это неприменимо, если мне придется передавать макросы в качестве параметров сборки. Другая причина — возможность включать и выключать макрос, просто комментируя его и проверяя его поведение.

Есть ли достойный способ удовлетворить мои требования? Я бы предпочел не иметь дело с какими-либо инструментами автоматизации сборки, такими как MSBuild, NAnt или что-то в этом роде, но если другой способ невозможен, я был бы признателен за совет, какой из них вы считаете лучшим выбором.

Подробнее здесь: https://stackoverflow.com/questions/905 ... rp-library
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»