1
我想使用多個綁定進行NInject多次注入,就像the official documentation所述,但是使用多次相同的綁定。將服務綁定到與NInject幾次相同的服務提供商
public class Samurai
{
readonly IWeapon[] allWeapons;
public Samurai(IWeapon[] allWeapons)
{
this.allWeapons = allWeapons;
}
public void Attack(string target)
{
foreach (IWeapon weapon in this.allWeapons)
Console.WriteLine(weapon.Hit(target));
}
}
然後,而不是給Samurai
一個Sword
和Dagger
作爲官方例子,我希望他有很多的Shuriken
。當然,我可以循環綁定,但有沒有更好的方法來做到這一點?也許定義一個擴展方法?
class TestModule : Ninject.Modules.NinjectModule
{
public override void Load()
{
for (int i=0; i<100; i++)
{
Bind<IWeapon>().To<Shuriken>();
}
}
}