1

オブジェクトのリストとして宣言されたリストを破棄したいと考えています。例を見つけてください

Class A
{
    public void m()
    {
        Ilist<myclass> sam = new Ilist<myclass>();
        sam.Add(ob1); ==> some objects i am adding
        sampleProperty = sam;
    }
}

class B:C
{
    public Ilist<myclass> sampleProperty
    {
        get;
        set;
    }

    public override void m()
    {
        foreach(myclass s in sampleProperty)
        {
        }
    }
}

アプリケーションが閉じられた後、私のプロパティはまだ有効です。オーバーライド メソッドでプロパティを使用しているため、null に設定できないため、いつ呼び出されるかわかりません。クラス C が IDisposable インターフェイスを実装していることを 1 つ通知するのを忘れていました

4

1 に答える 1

5

C# ではリストを破棄する必要はありません。自動ガベージ コレクタがそれを行います。アンマネージリソースを解放、解放、またはリセットする必要がある場合にのみ、オブジェクトを破棄します。

編集: (IDisposable を実装する)場合myClassは、各オブジェクトで object.Dispose() を呼び出すだけです。disposable

于 2012-10-01T03:57:04.893 に答える