私はいくつかのクラス StructureMapでグループ化するには?
public interface IProvider
{
void Load(int id);
}
public class Provider1 : IProvider
{
public void Load(int id) {}
}
public class Provider2 : IProvider
{
public void Load(int id) {}
}
public interface IService
{
void Load(int id);
}
public class Service : IService
{
IProvider provider;
public Service(IProvider provider) { this.provider=provider; }
public void Load(int id) { provider.Load(id); }
}
を持っていると私はこのようなのStructureMapとそれらを登録:
For<IService>().Use<Service>().Named("core");
For<IProvider>().Use<Provider1>().Named("core");
For<IService>().Use<Service>().Named("gen");
For<IProvider>().Use<Provider2>().Named("gen");
を私はそう両方のケースで
var service1 = ObjectFactory.GetNamedInstance<IService>("core");
var service2 = ObjectFactory.GetNamedInstance<IService>("gen");
によってサービスを取得しようとすると、IProviderインスタンス化なぜProvider2に?
私はIProviderがProvider1 へとProvider2 のでへの第二の場合のためにインスタンス化されます第一の場合に予想される
、どのように私は私が欲しいものを得るために登録する必要がありますか?