独自のアンビエントクラスを定義することは可能ですか?
たとえば、TransactionScopeクラスは、あるオブジェクトの参照を別のオブジェクトに明示的に渡すコードなしで、IEnlistmentNotification(私は思う)を実装するすべてのオブジェクトで利用できるようにします。
これを使用する必要があるかどうかはわかりませんが、それがどのように機能するか(つまり、このような機能を自分のコードに実装する方法)を理解することは興味深いでしょう。これは、独自のクラスに組み込むことができるものですか、それとも、TransactionScopeが「通常の開発者」レベルで利用できる以上のことを実行できるようにするために、より低いレベルで開発されたものですか。