2012-05-22 1 views
0

Предположим, у нас есть класс с двумя конструкторами, первый пуст (по умолчанию), а второй с параметром конструктора.Что такое equilvalent от Ninject Когда предложение в Autofac?

class Test : ITest { 
    Public Test() {} 
    public Test (string parameter) { do something; } 

В Ninject, он может использовать:

Bind<ITest>().To<Test>(); 

Bind<ITest>().To<Test>() 
      .When(ctx => IsTrue()) 
      .WithConstructorArgument("parameter", request => GetParameter()); 

Это очень concised для условного использования конструктора.

Мне интересно, что такое equilvalent в Autofac?

Просьба помочь!

ответ

1

Вы можете зарегистрировать делегат, который выполняет условную логику. Например. :

builder.Register(context => IsTrue() ? firstService : theOtherService); 
+0

Это не касается того, как назначить параметр constrcutor. У меня был вопрос с более подробной информацией. Спасибо за помощь. – yiming

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