あなたがそれを処分したくない理由を設定します。廃棄したくない場合は、おそらくIDisposable
メンバーに保存するべきではありません。そのインターフェースの唯一の本当の目的は、廃棄されるアイテムを示す/有効にすることです。
ロギングオブジェクトの場合、またはから派生したものなど、使用できる別の共通ベースインターフェイス/クラスはありませんStream
かStreamWriter
?
私がそれを書いたので、もちろん、これがまだIDisposable
階層に含まれていることに気づきます...これは私が取っておいたと言ったことに私たちを戻すと思います:
廃棄するつもりのない変数をここに設定するのはなぜですか?他の場所で廃棄する場合は、おそらくそこでも使用する必要があります。ロガーオブジェクトをラップしているコードは、ロギングを可能にするモデル/ビジネスオブジェクトへの個別のインターフェースの公開を含む、ロガーオブジェクトのすべての機能を処理する必要があります。
基本的に、ロギングを別のオブジェクトにカプセル化する場合は、そのオブジェクトの外部にある内部ロギングストリームオブジェクトを参照しないでください。他の場所でロギングをカプセル化していない場合、このクラスはそれを適切に処理する必要があります。