Мы используем Ninject для инъекций зависимостей. Мы разрабатываем наш код, используя наш DDD с произвольной формой, в котором объект домена является IThing.Автономное разрешение Ninject общим типом
В следующем коде, как получить IThingControl с использованием экземпляра IThing?
interface IThing {}
class Thing : IThing {}
interface IThingControl<T> where T:IThing {}
class ThingControl<Thing> {}
class Module : NinjectModule {
public override void Load() {
Bind<IThingControl<Thing>>().To<ThingControl>();
}
}
class SomewhereInCode {
void AddControls() {
List<IThing> things = new List<IThing> {
new Thing()
};
foreach (IThing thing in things) {
IThingControl<IThing> control = _kernel.Get(); // <----- eh?
this.Controls.Add(control);
}
}
}