Я пишу библиотеку, в которой есть несколько классов, предназначенных для использования несколькими веб-интерфейсами (некоторые веб-интерфейсы используют одни и те же классы).Для каждого интерфейса я веду отредактированный вручную список классов (определенного пространства имен), которые он использует.Если веб-интерфейс попытается использовать класс, которого нет в этом списке, возникнут ошибки времени выполнения.Моя цель - переместить эти ошибки во время компиляции.
Если кому-то из вас интересно, это «сопоставленные» классы nhibernate.Я пытаюсь ограничить, какой веб-интерфейс может использовать то, что сокращает время раскрутки, и только для моего здравого смысла.В конечном итоге их будет сотни, и было бы очень хорошо, если бы где-нибудь был список, в котором говорилось бы, какие интерфейсы используют то, что я вынужден поддерживать.Кажется, я не могу сделать создание подклассов для каждого внешнего интерфейса, и я не могу использовать какие-либо классы-обертки ... просто примите это как данность, пожалуйста!
В идеале, я хочу, чтобы Visual Studioподчеркните красным те классы, которые оскорбляют, если кто-то решится их использовать, с приятной пользовательской ошибкой в окне ошибок.Я также хочу, чтобы они ушли из окон IntelliSense.Можно ли настроить проект для выполнения этих задач?
Я также открыт для использования программы предварительной сборки для анализа кода для такого рода вещей, хотя это было бы не так хорошо.Кто-нибудь знает инструменты, которые делают это?
Спасибо
Исаак