Появилась у меня однажды задача компиляции программы под разные устройства. Ряд устройств в моём случае обладают специфическими возможностями и для них задействуются специальные библиотеки, а для некоторых обычных устройств - эти библиотеки надо исключать. Можно конечно комментировать каждый раз - но включений довольно много и такой подход весьма проблематичен.
Но есть очень хороший выход из этой ситуации, называется он условная компиляция.
Для условной компиляции используются директивы: #define, #if, #else, #endif.
Как обычно долго рассуждать как это использовать не буду, просто приведу пример:
1
#define PARAM1
#if PARAM1
Console.Write("Defined PARAM1");
#else
Console.Write("Not defined PARAM1");
#endif
При этом будет скомпилирован код:
Console.Write("Defined PARAM1");
2
//#define PARAM1
#if PARAM1
Console.Write("Defined PARAM1");
#else
Console.Write("Not defined PARAM1");
#endif
При этом будет скомпилирован код:
Console.Write("Not defined PARAM1");
Вот в вкратце и всё.