おそらく、あなたのトランスポーター部分とともに何らかの設定部分をエクスポートすることができます。
のは、ホストアプリケーションは、インターフェイスを定義しましょう:あなたの「設定後、...
public interface IDataTransporter
{
IDataTransporterSettings Settings { get; }
}
:
public interface IDataTransporterSettings
{
// any common settings are defined here
}
...とあらゆるIDataTrasporterは、その型のパブリックプロパティを持っていることを前提としていそれぞれの設定に一致する多数の公開プロパティを持つクラスになる可能性があります。
public class TcpDataTransporterSettings : IDataTransporterSettings
{
public string Address { get; set; }
public int Port { get; set; }
}
あなたのTcpDataTransporterクラスは、そのアドレス/ポート/何かを決めるために常にSettingsプロパティから読み込みます。
これで、インポートされた各トランスポータパーツの設定を確認したり、パブリックな設定可能なプロパティ(文字列の場合はTextBox、intの場合はNumericUpDownなど)ごとに適切なコントロールを表示するために、
私は、属性を使用して人間が判読できる説明を各プロパティに追加することができるので、UIの各コントロールのラベルを定義することができます。
私はこれを完全には考えていませんでしたが、どこにでも実装しているわけではありませんが、インポートされた各部品に柔軟な設定を提供できる方法のようです。
いいアイデアのように聞こえますが、答えとしてマークすることはまだありませんが、そうかもしれません。私が今持っているのは、Dictionary <文字列、オブジェクト>で、IDataTransporterインターフェイスの一部です。私はこの解決策も検討します。 アセンブリが独自の.xml構成ファイルを持つことができるのだろうか。 – TimothyP