Нет, в основном. Однако то, что вы можете сделать, это разделить ваш код на два файла и использовать partial class
так, чтобы весь ваш код bar
находился в одном изолированном файле:
partial class foo
{
partial void OnBar(bool value);
public void Do()
{
OnBar(false);
}
}
и
#if bar
partial class foo
{
private bool bar;
partial void OnBar(bool value)
{
bar = value;
}
}
#endif
Теперь основной файл *1011* ничего не знает о bar
. Если символ компиляции bar
не определен, поле bar
не существует, а и OnBar
метод - метод и его вызовы просто испаряются .
Это может быть полезно во многих сценариях ios, включая дополнительные уровни отладки кода или нацеливание на несколько платформ / сред / операционных систем (с указанными c файлами для разных целей) - без использования кода заполнено #if
.