0

私は j# UI コードを C# に変換するプロジェクトに取り組んでいます。古いコード (j#) には、フォームを拡張するクラスとメソッドがありました。

public void dispose()
{
   super.dispose();
   components.dispose(); 
}

import を from:com.ms.wfc.uiに変更した後system.windows.form、コンパイラは に変更super.dispose()するように求めていsuper.Dispose()ます。(コンポーネントと同じ)。

私の質問は、上記の方法も変更する必要があるDisposeかどうかです。J#コードでは、これがオーバーライドされているかどうかはdispose()わかりません。変更しないと、このフォームが閉じているときに呼び出されないと思います

4

2 に答える 2

1

C# では大文字と小文字が区別されます。また、フォームの IDIsposable インターフェイス メソッドの実装をオーバーライドする場合は、is を大文字で記述する必要があります。

public void Dispose()
{
   //...
}

うまくいけば、私はあなたの問題を正しく理解しました...

于 2013-04-03T14:51:59.810 に答える
1

Dispose メソッドをオーバーライドとして宣言する必要はなく、Dispose() に変更すれば十分です。

public class MyClass : IDisposable
{
    public void Dispose()
    {
        // Perform any object clean up here.

        // If you are inheriting from another class that
        // also implements IDisposable, don't forget to
        // call base.Dispose() as well.
    }
}

C# での Dispose の使用に関する優れたチュートリアルは次のとおりです

于 2013-04-03T14:59:17.303 に答える