Блок приложения Unity, как передать параметр в Injection Factory?

Здесь то, что у меня есть

  Container.RegisterType<IUserManager, UserManagerMock>();
  Container.RegisterType<IUser, UserMock>(
                new InjectionFactory(
                    (c) => c.Resolve<IUserManager>().GetUser("John")));

, и получить его

Container.Resolve<IProfile>();

). Я хочу передать имя в качестве параметра Factory, чтобы я сможет разрешить объект пользователя с именем; Как передать параметр в Injection Factory? Вот что у меня теперь есть Container.RegisterType (); Container.RegisterType (new InjectionFactory ((c) = & ...

Вот то, что у меня есть

  Container.RegisterType<IUserManager, UserManagerMock>();
  Container.RegisterType<IUser, UserMock>(
                new InjectionFactory(
                    (c) => c.Resolve<IUserManager>().GetUser("John")));

, и получить его

Container.Resolve<IProfile>();

). Я хочу передать имя в качестве параметра Factory, чтобы я сможет разрешить объект пользователя с именем; Как передать параметр в Injection Factory? Вот что у меня теперь есть Container.RegisterType (); Container.RegisterType (new InjectionFactory ((c) = & ...

Вот то, что у меня есть

  Container.RegisterType<IUserManager, UserManagerMock>();
  Container.RegisterType<IUser, UserMock>(
                new InjectionFactory(
                    (c) => c.Resolve<IUserManager>().GetUser("John")));

, и получить его

Container.Resolve<IProfile>();

). Я хочу передать имя в качестве параметра Factory, чтобы я сможет разрешить объект пользователя с именем; Примерно так:

 Container.Resolve<IProfile>("Jonh");

Как я могу изменить регистрацию типа для этого случая?

8
задан Arseny 3 December 2010 в 12:41
поделиться