おそらく、この質問は以前に別の方法で尋ねられたことがありますが、見つけることができませんでした。
たとえば、アプリケーションに 1 つ以上のプラグイン アダプター アセンブリがあり、すべて IPlugin 型です。各アダプタには、共通ディレクトリに格納された独自の設定構造があります。それらが 1 つの連続したファイルに格納されているか、別のファイルに格納されているかは問題ではありません。各アダプターには、1 つ以上の設定を関連付けることができます。設定には、名前とそれが使用されるプラグインの両方があります。
次の要件を使用して、このような構成システムを作成するにはどうすればよいですか。
- 設定システムに組み込まれた .NET を使用し、最初から作成することを避けたい
- ホスト アプリケーションは、プラグイン設定を見つけてプラグインに渡す役割を果たします。
- 各プラグインは、関心を分離するために独自の設定を読み書きする責任があります。ホスト アプリケーションは Plugin.Save(thePath) を呼び出す必要があります。
- すべての設定はユーザー スコープです
これまでのところ、独自の SettingsProvider を作成する必要があることはわかっていますが、プラグイン ディレクトリのパスや設定の名前などのパラメーターを渡す方法がないという点で、プロバイダーは分離して動作しているようです。私が見たすべてのサンプル コードでは、プロバイダがランタイム環境からデータを取得しています。