0

特定の構成の問題があります。

     <configuration>
      <configSections>
        <section name="custom" type="ConfigurationSample.CustomConfigurationSection, ConfigurationSample"/>
<section name="unity" type="Microsoft.Practices.Unity.Configuration.UnityConfigurationSection, Microsoft.Practices.Unity.Configuration"/>
      </configSections>
        <custom>
       <customConfigurations>
        <configuration id="CAT1">
          <name>Tom</name>
           <address type="rent">
             <area>Misissipi</area>
           </address>
         <conifugration/>
       <configuration id="Mouse1">
         <name>Jerry</name>
           <address type="own">
             <area>Seatle</area>
           </address>
         <conifugration/>
       <customConfigurations>
      </custom>
  <unity xmlns="http://schemas.microsoft.com/practices/2010/unity">
    <alias alias="IAnimal" type="MyApp.IAnimal, MyApp" />
    <alias alias="CAT" type="MyApp.CAT, MyApp" />
    <alias alias="Mouse" type="MyApp.Mouse, MyApp" />
    <container>
      <!-- should register CAT instance with name CAT1 at runtime and mapto IAnimal !-->    
      <!-- should register Mouse with name Mouse1 at runtime and mapto IAnimal !-->  
    </container>

  </unity>
    </configuration>

これは私の app.config です。コンストラクターでの CAT クラス CAT 構成以降、カスタム構成セクションを読みながら、unity コンテナーにインスタンスを登録するランタイムを探しています。

私のクラス:

public interface IAnimal
{
public string Name {get;set}
pubic bool IsLiving();
}


public class Mouse
{
MouseConfig config;
public Mouse(IAnimalConfig config)
{
this.config=config;
}
public string Name {get;set}
pubic bool IsLiving(){
//do something with config
}
}

public class Cat
{
CATConfig config;
public CAT(IAnimalConfig config)
{
this.config=config;
}
public string Name {get;set}
pubic bool IsLiving(){
//do something with config
}
}

私がどこに向かっているのか理解していただければ幸いです。構成オブジェクトをパラメーターとして派生クラスに提供する必要があります。私のcustomconfigに基づいて、インスタンスをユニティコンテナに登録したいと思います。したがって、アプリケーションでこれらのインスタンスを操作できます。私はすでにそれらのタイプとそれらのインスタンスの名前を知っているので、コンテナから解決できます。

さらに何か追加する必要がある場合はお知らせください。ありがとう

4

0 に答える 0