Если у меня есть реализация класса Human и Dog, который использует интерфейс IPerson и классы HumanFood и DogFood, используя интерфейс IFood. Как я могу перейти от использования HumanFood к DogFood и Human to Dog в моей основной функции?Ninject - несколько классов с использованием единого интерфейса (доступно несколько совпадающих привязок)
В настоящее время, как это написано, это дает мне возможность «иметь более одного соответствия».
Спасибо!
public class Bindings : NinjectModule
{
public override void Load()
{
this.Bind<IFood>().To<HumanFood>();
this.Bind<IFood>().To<DogFood>();
this.Bind<IPerson>().To<Human>();
this.Bind<IPerson>().To<Dog>();
}
}
static void Main(string[] args)
{
IKernel kernel = new StandardKernel();
kernel.Load(Assembly.GetExecutingAssembly());
IFood food = kernel.Get<IFood>();
IPerson person = kernel.Get<IPerson>();
person.BuyFood();
Console.ReadLine();
}