¿Hay alguna forma de crear errores de tiempo de compilación si se llama a un método determinado?¿Evita que el código .NET invoque métodos particulares?
Como ejemplo, lo que me gustaría hacer es evitar que el código en un determinado proyecto llame a System.Configuration.ConfigurationManager.AppSettings(). ¿Hay alguna manera de etiquetar el proyecto o el archivo de clase para generar un error de tiempo de compilación SI se llama ese método?
No creo que exista, entonces mi pensamiento es que la única manera de hacerlo es generar una regla FxCop que marque estas llamadas y lo haga de esa manera, pero estoy abierto a otras ideas.
Estoy usando .NET 3.5. No estoy seguro si los contratos de código 4.0 pueden hacer esto.
Actualizaciones
Estoy hablando específicamente acerca de los métodos marco, no la mía, así que no puede marcarlos como obsoleto.
En este momento no me importa la reflexión.
Otro ejemplo es System.Web.HttpUtility.HtmlEncode, que quiero encontrar y reemplazar con la biblioteca AntiXss de Microsoft, pero me gustaría integrar algún tipo de proceso de comprobación en mi servidor de compilación que verifique también el nuevo código .
¿Quieres llamar a este método no permitir través de la reflexión, también? – Vlad
Si fueron sus propios ensamblajes y puede recompilar, puede usar el atributo Obsoleto, si eso ayuda en absoluto. – asawyer
¿Por qué hay para empezar si no quieres que lo usen? –