| ■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 リソースってことだ。
|
|