У меня есть приложение службы wcf, и я только что реализовал библиотеку ninject. На веб-сайте ninject приведен пример:Ninject Binding Issue
public class Samurai {
public IWeapon Weapon { get; private set; }
public Samurai(IWeapon weapon)
{
this.Weapon = weapon;
}
}
public class WarriorModule : NinjectModule
{
public override void Load()
{
this.Bind<IWeapon>().To<Sword>();
}
}
У меня есть классы, подобные этому. Но проблема в том, как создать экземпляр класса Samurai
? У конструктора есть параметр (IWeapon
), но параметр привязан Sword
или к другому классу. Когда я хочу создать экземпляр класса Samurai
, компилятор ожидает IWeapon
параметра типа. В моем классе модуля (например, WarriorModule
) я уже определил его привязку. Как передать параметр (или по-другому) на Samurai
класс constuctor?
Слово предупреждения; убедитесь, что вы уверены, что вы довольны «самураем» как неизменным типом класса. У меня нет никаких возражений против самонастраиваемых типов, просто убедитесь, что вы всегда будете довольны тем, что один класс вводится, а не тот, который можно поменять, когда это необходимо. –