Можно ли использовать директивы компилятора #if для пропуска свойств в классе?Условная компиляция для свойств класса на основе проекта-потребителя
У меня есть два проекта, которые используют общий проект, и я хочу добавить некоторые свойства в общий класс, который я не хочу видеть другим.
Я попытался добавить условный символ компиляции в проектах, например. MYSYMBOL
, а затем делать это в моем классе:
#if MYSYMBOL
public string MySpecialProperty { get; set; }
#endif
Она компилирует, но ни один проект может увидеть MySpecialProperty, тогда, очевидно, я бы надеялся на проект с MYSYMBOL определенной, чтобы иметь возможность получить доступ к этому свойству. ..
Почему вы не наследуете этот класс во втором проекте, чтобы добавить два новых свойства? Ваш базовый проект не может использовать эти два свойства очень эффективно, если они являются условными. Необходимость сделать их условными выглядит как дизайн-запах. –
@AdamHouldsworth спасибо за ваше предложение, но мне просто интересно узнать, возможно ли то, что я спросил :-) – Rob