Профили структуры карты и добавление экземпляров - PullRequest
1 голос
/ 15 октября 2010

Структурная карта (2.6).

У меня есть несколько классов и реестр, которые выглядят следующим образом:

public interface IManyType {}
public class ManyType1 : IManyType {}
public class ManyType2 : IManyType {}
public class ManyType3 : IManyType {}

public class TestRegistry : Registry
    {
        public TestRegistry()
        {
            For<IManyType>().Add<ManyType1>();
            For<IManyType>().Add<ManyType2>();

            Profile("Profile1").For<IManyType>().Use<ManyType1>();
            Profile("Profile1").For<IManyType>().Use<ManyType2>();
            Profile("Profile1").For<IManyType>().Use<ManyType3>();
        }
    }

Я обнаружил, что независимо от того,установите профиль на ObjectFactory, SM вернет все три экземпляра.Если не ясно, зачем я регистрирую другой набор экземпляров для данного типа с использованием профилей.

Я что-то не так делаю?

-Joe

1 Ответ

0 голосов
/ 15 октября 2010

Этот синтаксис должен работать, хотя он устарел, вот текущий синтаксис:

Profile("Profile1", p => p.For<IManyType>().Use<ManyType1>()

Тогда, конечно, вы должны переключиться на профиль следующим образом:

container.SetDefaultsToProfile("Profile1");
...