C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 167 を表示中)
■96711 / )  Disposeメソッドを付けないクラスの開放について
□投稿者/ ルーキー (1回)-(2021/01/14(Thu) 13:29:26)

分類:[.NET 全般] 

C#(VS2019使用)を勉強し始めて間もないものです。
リソースの破棄でどうするのが良いのか不明なのでご教授ください。

ユーザークラス作成時、特に解放する必要が無いメンバーだけのクラスの場合、
破棄処理はどのようにするのが良いのでしょうか?

極端な例として、変数 string a = ""; のみ保持しているクラス(A)の場合、Disposeメソッドに何も記載することが無いかと思います。
そういったクラスでも空のDisposeメソッドを付加し、Usingで利用するのが良いのか、Dispseも不要で、
特に解放自体意識しなくて良いのかが良くわかっていません。

ちなみに下記の様に記述するとfinallyのnull代入部分のみ不要なので削除すべきのヒントが表示されます。
そもそもこのようなクラスの場合、Disposeやnull代入などせずにGC任せで良いのでしょうか?

var a = new A();

try
{
    a = null; → ここは「冗長なので削除」のヒント表示無し
}
catch (Exception ex)
{
    throw ex;
}
finally
{
    a = null; → 「冗長なので削除」のヒント表示
}

返信 編集キー/


管理者用

- Child Tree -