C#, C♯, C#相談室 Part98at TECH
C#, C♯, C#相談室 Part98 - 暇つぶし2ch565:デフォルトの名無しさん
25/12/30 09:20:47.48 avV+Pfo+0.net
>>564
代わりにAI様に聞いてやったぞ

ご質問ありがとうございます。
結論から申し上げますと、「自分で Dispose / Close すべき責務があるかどうか」だけ見れば十分です。
• マネージドオブジェクト
IDisposable を実装していて、Dispose() を呼ぶ責任があなたのクラスにあるもの
→ disposing == true のときに Dispose() する
• アンマネージドリソース
IntPtr、OSハンドル、ネイティブメモリなど GCが管理できない実体
→ disposing に関係なく必ず解放する

逆に言えば
• string や List<T> → 何もしない
• 他人から渡された Stream → 勝手に Dispose しない
• new して保持してる Stream → マネージド側で Dispose

「型」ではなく「所有権」が判断基準です。
これが分からない設計なら、設計が悪いだけです。


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch