Mugen Injection [Использование имен для регистрации]
MugenInjector поддерживает регистрацию binding с именем. Имена не обязательно должны быть уникальными, несколько binding для одного компонента, могут быть зарегистрированы с тем же именем, этот код показывает, как это работает:
public class Alpha { } public class Beta : Alpha { } public class Bravo : Beta { } // Create your MugenInjector. _injector = new MugenInjector(); _injector.Bind<Alpha>().ToSelf().NamedBinding("Alpha"); _injector.Bind<Alpha>().To<Beta>().NamedBinding("Beta"); _injector.Bind<Alpha>().To<Bravo>().NamedBinding("Bravo"); var alpha = _injector.Get<Alpha>("Alpha");//Instance of Alpha. var beta = _injector.Get<Alpha>("Beta");//Instance of Beta. var bravo = _injector.Get<Alpha>("Bravo");//Instance of Bravo.
// Create your MugenInjector. _injector = new MugenInjector(); _injector.Bind<Alpha>().ToSelf().NamedBinding("Alpha"); _injector.Bind<Alpha>().To<Beta>().NamedBinding("Alpha"); _injector.Bind<Alpha>().To<Bravo>().NamedBinding("Alpha"); var list = _injector.Get<IList<Alpha>>("Alpha"); var enumerable = _injector.GetAll<Alpha>("Alpha");