システムでの負の結果を防ぐために、外部ライブラリとフレームワークのAPIへのアクセスを制限することが重要になる場合があります。
たとえば、SharePointアプリケーションではspList.Items.GetItemById
、ループ内であっても、リストアイテムを取得するために呼び出すのが自然に思えるかもしれません。
また、テスト環境ですべての電子メールを適切にプロキシおよびモックできるように、全員に独自のクラスを使用して電子メールを送信させるために、SmtpClientの使用を禁止する必要がある場合もあります。
独自のコードの特定の特定の場所を除き、外部コードでこれらの制約を達成するための信頼できる合理的な方法はありますか?すべての状況下で、これらのメソッド/クラスへのアクセスを完全に禁止する必要はありません。たとえば、リフレクションまたは何らかの無効化によって、それらを使用しないことを厳しく警告する必要があります。できればプログラマーに積極的にこれらの制約を無効にするための措置をとるように強制します。