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

わんくま同盟

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

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

■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; → 「冗長なので削除」のヒント表示
}

編集キー/

前の記事(元になった記事) 次の記事(この記事の返信)
親記事 →Re[1]: Disposeメソッドを付けないクラスの開放について /WebSurfer
→Re[1]: Disposeメソッドを付けないクラスの開放について /774RR
→Re[1]: Disposeメソッドを付けないクラスの開放について /WebSurfer
 
上記関連ツリー

Disposeメソッドを付けないクラスの開放について / ルーキー (21/01/14(Thu) 13:29) #96711 ←Now
Re[1]: Disposeメソッドを付けないクラスの開放について / WebSurfer (21/01/14(Thu) 13:55) #96714
Re[1]: Disposeメソッドを付けないクラスの開放について / 774RR (21/01/14(Thu) 13:51) #96713
Re[1]: Disposeメソッドを付けないクラスの開放について / WebSurfer (21/01/14(Thu) 14:47) #96716
  └ Re[2]: Disposeメソッドを付けないクラスの開放について / ルーキー (21/01/14(Thu) 15:01) #96717 解決済み
    └ Re[3]: Disposeメソッドを付けないクラスの開放について / 774RR (21/01/14(Thu) 16:51) #96718 解決済み
      └ Re[4]: Disposeメソッドを付けないクラスの開放について / ルーキー (21/01/14(Thu) 17:50) #96719 解決済み

上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信