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> 

コンストラクタ?

+1

なぜこのような醜いことをしたいのですか?ほぼすべてのアプリケーションで、ほんのわずかな拡張が可能です。あなたはすべてを置き換えたくありません。これらの拡張ポイントは、xmlを使用して設定する必要があります。他のすべてのものについては、流暢なAPIが良い選択肢です。 – Tim

答えて

1

なぜあなたはISettingsDistributorを注入しないのですか?とにかくあなたの魔法の文字列のソースになります。それで問題は何ですか?

関連する問題