アプリケーション (.NET、C#) で進行中の操作に特定のコンテキストを実装して、アプリケーションによって開始および実行されるコードがそれにアクセスできるようにしたいと考えています。
問題は、特定の API が行っているように、コンテキストがオブジェクトとして渡されないことです。
この静的クラスが各操作のコンテキストを提供できる WCF の OperationContext に似たものを実装したいと思います。
そのようなシステムをどのように実装できますか?
使用例:
当社のアプリケーションは、当社の SDK にアクセスできる人が作成したサードパーティの「プラグイン」を読み込んで実行します。
このようなユーザー コードは次のようになります。
public void SomeMethod(string a, string b)
{
// NEEDED: something like this
Context.Results = new Results();
// Do some stuff here
// Call another method (without passing Results to it)
AnotherMethod();
}
public void AnotherMethod()
{
// NEEDED: Access the context (Results) somehow to add more info to it.
Context.Results.Add(something);
}
この例によると、必要なのはいくつかの静的 Context クラスだけですが、アプリケーションで実行されるすべての操作に対して一意であることを確認するにはどうすればよいでしょうか?