質問

可能な重複:
ものは何かにチルダ(~)を意味クライアントまで、フルのC#?

class ResourceWrapper
{
    int handle = 0;
    public ResourceWrapper()
    {
        handle = GetWindowsResource();
    }
    ~ResourceWrapper()                     //this line here
    {
        FreeWindowsResource(handle);
        handle = 0;
    }
    [DllImport("dll.dll")]
    static extern int GetWindowsResource();
    [DllImport("dll.dll")]
    static extern void FreeWindowsResource(int handle);
}

どのようなチルダについては、ライン表示されます。

後手後手の対応をしているのはビット単位でない者のgdp思う全体ブロックがあり、と述べ、括弧blovk後でなmethd、またはパラメータまたはもうあるチルド前です。

役に立ちましたか?

解決

ることが デストラクタ.での全ての資源をされたガベージコレクション

他のヒント

この実装は、finalizerのファイナライズメソッドのクラスです。通常はまず実施するfinalizer.

E.g.この授業を保有する外管の資源が必ず実装してください、IDisposableパターンの場合です。

C++, ~ClassName のデストラクタ。くというクライアントまで、フルのC#ときにオブジェクトに問題が清掃、ゴミがございます。なC++言語により決定的な時間のデストラクタが呼び出されると、その予測がれます(または場合でも"と呼びます)クライアントまで、フルのC#.

うことがあるでしょうみの IDisposable パターンは、より良いアプローチ。

である デストラクタ.あるいは暗黙的制御放します。していることによって呼び出され ガベージコレクタ.したい場合は明示的な制御をリリースの資源を実現致しました IDisposable チェック の実施を決定及び処分にポリシー資源の.の 枠組みの設計ガイドライン もよります。

Ackだけでは答えが見えないのできれいに表示されない私の質問です。を指定しますデストラクタのクラス

私はこんなスレッドセーフで、C#、などのコードは、このように見えdeconstructorい

  1. 無料で参照するリソースの handle
  2. セット handle0 必ずしも

うような碁とを明らかにしようとしない"とも...:)

私が誤っている可能性が考えられことになりました。

greetz

back2dos

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top