13

IDisposable を実装するオブジェクトを破棄するのを忘れたときに警告を表示するように Visual Studio 2008 を構成できますか?

4

3 に答える 3

6

Visual Studio 自体にはこの機能はありませんが、CodeRushを使用すると、必要に応じてブロックを使用して挿入する設計時の警告とリファクタリングを行うことができます。

于 2009-07-06T19:12:32.613 に答える
3

FxCop デザイン ルールをオンにすると、次のように、IDisposable を実装しておらず、IDisposable を実装するメンバーがある場合に通知されます。

class Program
{
    private DataTable NotDisposed;

    public Program()
    {
        NotDisposed = new DataTable();
    }
    static void Main()
    {
    }
}
于 2009-07-06T20:46:47.073 に答える
1

コンパイル時にはできないと思います。

ただし、実行時に実行できます。
抽象クラス 'Disposable' (IDisposable を実装し、Disposable パターンを実装する) を作成しました。ファイナライザーでは、ファイナライザーが呼び出されたときに Assert を発行し、オブジェクトは破棄されていません。

これは Ian Griffiths の記事に基づいています。

http://www.interact-sw.co.uk/iangblog/2004/04/26/yetmoretimedlocking

于 2009-07-06T19:09:16.037 に答える