ふらっとVisual C#,C♯,C#(初心者用) Part99
■ このスレッドは過去ログ倉庫に格納されています
0247デフォルトの名無しさん
2012/11/12(月) 23:37:18.42このクラスはおそらく実装するときに、アンマネージなリソースを持つかもしれないと予想できるんですが、
こういう場合は抽象クラスの方にIDisposableを付けるべきでしょうか。悩んでます。
もちろん抽象クラス自体はアンマネージリソースは持ってません。
例えばSystem.IO.Streamは抽象クラスで、これ自体はアンマネージなリソースは(恐らく)持ってないと
思うんですが、実装するとファイルハンドル等を持つだろうということで(?)、IDisposableが付いてると思います。
でもStreamを実装するクラスは必ずアンマネージリソースを扱うというわけでもなく、
マネージリソースのみで実装することもあると思います(MemoryStreamはそうなのかなぁと)。
かと言ってStreamにIDisposableが付いてなかったら、誰もDisposeを呼ばなくなり、問題ありそうです。
じゃあIDisposableを付ければいいじゃんってことなんですが、そうなるとどの抽象クラスも予想に反して、
実装したらアンマネージリソースを持つ可能性があるので、もう全部にIDisposableを付けて、
Disposeを呼んであげるべきなのかと…
■ このスレッドは過去ログ倉庫に格納されています