如果调用某个方法,是否有创建编译时错误的方法?阻止.NET代码调用特定方法?
作为一个例子,我想要做的就是防止某个项目中的代码调用System.Configuration.ConfigurationManager.AppSettings()。如果调用该方法,是否有办法标记项目或类文件以引发编译时错误?
我不认为有这样的想法,所以我的想法是,唯一的办法是生成一个FxCop规则来标记这些调用,并且这样做,但我愿意接受其他想法。
我正在使用.NET 3.5。不知道4.0代码合同是否可以做到这一点。
更新
我特别谈到框架的方法,而不是我自己,所以我不能将其标记为已过时。
在这一点上,我不在乎反思。
另一个例子是System.Web.HttpUtility.HtmlEncode,我想用微软的AntiXss库找到并替换它,但是我想在我的构建服务器上集成某种检查过程来检查新代码。
你想禁止通过反射来调用这个方法吗? – Vlad
如果它是你自己的程序集,并且你可以重新编译,你可以使用Obsolete属性,如果有帮助的话。 – asawyer
如果你不想让他们使用它,为什么要开始? –