2016-08-10 9 views
2

Я знаю, что вы можете добавить регистрацию к LifetimeScopeкогда он создается так:Можно ли добавить регистрации в Autofac LifetimeScope после его создания?

using(var scope = container.BeginLifetimeScope(builder => 
    { builder.RegisterType<Override>().As<IService>(); 
     builder.RegisterModule<MyModule>(); 
    })) 
{ 
    // The additional registrations will be available 
    // only in this lifetime scope. 
} 

Можно ли добавить регистрации послеLifetimeScope созданы? (Добавить регистрацию внутри using блока, например)

+0

Может вам описать, что вы пытаетесь сделать? –

ответ

0

Вы можете получить доступ к ComponentRegistry свойству ILifetimeScope, с этим объектом вы можете зарегистрировать новый IComponentRegistration, который можно создать с помощью RegistrationBuilder статического метод:

using(var scope = container.BeginLifetimeScope()) 
{ 
    var registration = RegistrationBuilder.ForType<ServiceA>() 
              .As<IService>() 
              .CreateRegistration(); 
    scope.ComponentRegistry.Register(registration); 

    scope.Resolve<IService>(); 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^