2

独自のアンビエントクラスを定義することは可能ですか?

たとえば、TransactionScopeクラスは、あるオブジェクトの参照を別のオブジェクトに明示的に渡すコードなしで、IEnlistmentNotification(私は思う)を実装するすべてのオブジェクトで利用できるようにします。

これを使用する必要があるかどうかはわかりませんが、それがどのように機能するか(つまり、このような機能を自分のコードに実装する方法)を理解することは興味深いでしょう。これは、独自のクラスに組み込むことができるものですか、それとも、TransactionScopeが「通常の開発者」レベルで利用できる以上のことを実行できるようにするために、より低いレベルで開発されたものですか。

4

1 に答える 1

2

書くnew TransactionScope()だけで静的Transaction.Currentプロパティが設定されます。

他のクラスは、このプロパティがnullでないかどうかを確認し、トランザクションに参加することができます。

魔法は関係ありません。

于 2012-10-21T00:38:28.950 に答える