0
私は単なるXML(流暢なAPIなし)を使用してユニティコンテナを設定したいと思います。 私はこのxml設定を使用して、登録されたタイプのプロパティを別のコンストラクタに渡す
public interface ISettingsDistributor {
String TargetProperty;
}
のように見えるインタフェースとその実装SettingsDistributor
public interface ISettingsConsumer { }
public class SettingsConsumer :ISettingsConsumer, OtherType {
public SettingsConsumer(String theParameter) : base(theParameter) {
}
}
を持っているこれは、その設定の消費者です。これまでに構築した構成セクションは次のとおりです。 (typeAlias
ESや他のものは省略されている)私はそれがタイプISettingsConsumer
を解決しようとすると、それは最初ISettingsDistributor
を解決する値としてそのTargetProperty
メンバーを注入する必要があること、このxmlファイル内の結束に言うことができるどのよう
<containers>
<container name="container">
<types>
<type type="ISettingsDistributor" mapTo="SettingsDistributor">
<lifetime type="singleton" />
</type>
<type type="ISettingsConsumer" mapTo="SettingsConsumer">
<lifetime type="perThread" />
</type>
</types>
</container>
</containers>
コンストラクタ?
なぜこのような醜いことをしたいのですか?ほぼすべてのアプリケーションで、ほんのわずかな拡張が可能です。あなたはすべてを置き換えたくありません。これらの拡張ポイントは、xmlを使用して設定する必要があります。他のすべてのものについては、流暢なAPIが良い選択肢です。 – Tim