16

C# プログラマが特定のライブラリ クラスを使用できないようにする最善の方法は何ですか?

クラスは外部アセンブリからのものであるため、[Obsolete]属性を使用することはできません。Resharper カスタム パターンを使用しようとしましたが、ジェネリック型をサポートしていないようです。

4

2 に答える 2

2

ライブラリメソッド/クラスにパッチを適用します(Reflectorにはいくつかのプラグインがあります)-DeprecatedAttributeたとえば、例外をスローするようにコードを追加または変更します。

CIサーバーで実行され、特定の非推奨アイテムの使用法が示された場合に失敗する特別な単体テストを作成することもできます。

于 2012-10-18T09:51:22.223 に答える
1

ライブラリをildasmで逆アセンブルし、[Obsolete(true)]属性を追加して、ilasmで再アセンブルできます。

Reflexilのようなアセンブリ編集ツールとReflectorの試用版を見つけることができるかもしれません。

アセンブリを編集すると、すべての署名など​​が失われることに注意してください。

于 2012-10-18T09:54:40.477 に答える