[Seasar-s2dotnet 15] Re: S2.NET-1.0.0-beta3 リリース

Kazuya Sugimoto sugimoto
2005年 6月 15日 (水) 13:15:06 JST


杉本です。

青柳様、情報提供ありがとうございます。

> いちおうガイドラインでは、
> http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpguide/html/cpconImplementingDisposeMethod.asp
>   Dispose メソッドが複数回呼び出される場合でも、例外をスロー
>   することなく呼び出されるようにして、リソースが常に適切にク
>   リーンアップされるようにする必要があります。
> というように 「Dispose() は何回呼ばれてもいいようにすること」 と
> 明記されています。
> 確か、CLR ランタイム自体も Dispose() を 1回しか呼ばないと保証
> しているわけではなかったと思います。なので、さすがに Dispose()
> を複数回呼ばれると冷害が発生するようなクラスはほとんどないん
> じゃないかと思います(まったくないとは言えないと思いますが)。

見落としてました。しっかりと複数回呼び出されても例外が発生しない
ようにする必要があると書かれてますね。

確かに、例外を発生されるクラスがまったく無いとは言い切れませんが、
それはコンテナの責任ではなく、Disposeメソッドの実装側の責任と
できますね。

-- 
Kazuya Sugimoto
http://kamedane.com/



seasar-dotnet メーリングリストの案内