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

わんくま同盟

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

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


■87574 / )  Re[1]: IDisposableの実装について
□投稿者/ 774RR (609回)-(2018/06/07(Thu) 11:13:40)
https://divakk.co.jp/aoyagi/csharp_tips_using.html
IDisposable + using は try/catch/finally の finally で Dispose() を呼ぶ、と同一
逆に言うと using は try/catch/finally といっぱい記述するよりタイプ量が少なくするための糖衣構文

ということでオイラなら IDisposable で実装できる場合には Dispose() を使う。
ただし Dispose() を明示的に呼ぶコードを書くくらいなら using を使う、でほぼ確定。

で、今回のこの案件で
1. Close() を自分で呼ぶか
2. Dispose() 中から Close() を呼ぶか
の選択をどうするか、なんだけど、もう無条件で後者でよいと思う。

gc によらずにこのタイミングでしなきゃならない後始末がある=無条件で IDisposable + using を使う、
(その際 manage リソース unmanage リソースの有無を気にする必要は無い)
で OK だと思う。ってか後始末のタイミングを気にする必要がある= unmanage リソースってことだ。

返信 編集キー/


管理者用

- Child Tree -