Запретить .NET-коду вызывать определенные методы?

Есть ли способ создавать ошибки времени компиляции, если вызывается определенный метод?

Как Например, я бы хотел предотвратить вызов кода в определенном проекте System.Configuration.ConfigurationManager.AppSettings (). Есть ли способ пометить проект или файл класса, чтобы вызвать ошибку времени компиляции, ЕСЛИ этот метод вызван?

Я не думаю, что есть, поэтому я считаю, что единственный способ сделать это - создать FxCop правило, которое помечает эти вызовы и делает это таким образом, но я открыт для других идей.

Я использую .NET 3.5. Не уверен, что контракты кода 4.0 могут это сделать.

Обновления

Я говорю конкретно о методах фреймворка, а не о своих собственных, поэтому я не могу пометить их как устаревшие.

На данный момент я не забочусь об отражении.

Другой пример - System.Web.HttpUtility.HtmlEncode, который я хочу найти и заменить библиотекой Microsoft AntiXss, но я хотел бы интегрировать какой-то процесс проверки на свой сервер сборки, который также проверял бы новый код.

6
задан slolife 17 November 2011 в 18:52
поделиться