#c_sharp #visual_studio
Есть приложение с полной функциональностью. Это приложение для одного типа пользователей. Они могут редактировать/удалять/добавлять. Но есть и другие пользователи, которым это делать нельзя. Каким путем пойти, что бы не создавать несколько похожих приложений, но с небольшими различиями по функционалу? В Delphi я применял такой подход. #IFDEF DISPATCHER ... #ENDIF #IFDEF VIEWER ... #ENDIF В VisualStudio почему-то так #if DEBUG // Работает #endif #if RELEASE // Не работает #endif
Ответы
Ответ 1
Все дело в настройках проекта. Конфигурация Debug по умолчанию определяет символы DEBUG и TRACE, конфигурация же Release определяет только TRACE (символа RELEASE не существует). Вам поможет вот такой способ: #if !DEBUG #endif Или вот такой: #if DEBUG #else #endif Также в свойствах проекта вы можете определить свои символы для условной компиляции. У меня это делается вот так: Но, вообще говоря, для разных режимов работы обычно хорошо подходят настройки и конфигурационные файлы: if (Properties.Settings.Default.CanEditFoo) { // ... } Также имеет смысл ограничить доступ пользователя на стороне сервера или СУБД. Если в организации используется Active Directory - то хорошим решением будет авторизация пользователей на основе доменных групп, к которым они относятся.
Комментариев нет:
Отправить комментарий