特定のメソッドが呼び出された場合にコンパイル時エラーを生成する方法はありますか?.NETコードが特定のメソッドを呼び出さないようにしますか?
たとえば、特定のプロジェクトのコードがSystem.Configuration.ConfigurationManager.AppSettings()を呼び出さないようにしたいとします。そのメソッドが呼び出された場合、コンパイル時エラーを発生させるためにプロジェクトまたはクラスファイルにタグを付ける方法はありますか?
私はそこにいるとは思わないので、これを行う唯一の方法は、これらの呼び出しをフラグするFxCopルールを生成してその方法で行うことですが、私は他のアイデアを公開しています。
私は.NET 3.5を使用しています。 4.0のコード契約でこれができるかどうかは不明です。
アップデート
私は具体的には、フレームワークの方法について話して私自身ではないので、私は廃止されたとして、それらをマークすることはできませんしています。
この時点で私は反射については気にしません。
もう1つの例は、MicrosoftのAntiXssライブラリを検索して置き換えるSystem.Web.HttpUtility.HtmlEncodeですが、新しいコードもチェックするビルドサーバーに何らかのチェックプロセスを統合したいと思います。
あなたも、リフレクションを通じて、このメソッドを呼び出す許可しないようにしたいですか? – Vlad
独自のアセンブリで再コンパイルできる場合は、Obsolete属性を使用できます。 – asawyer
なぜあなたはそれを使いたくないのですか? –