注入静态字段

时间:2012-04-15 06:42:47

标签: c# .net dependency-injection ninject

这是我的界面和类:

public interface IWeapon
{
   void Shoot();
}

public interface IWarrior
{
   void Kill();
}

public class Killer : IWarrior
{
   private static IWeapon _weapon;

   public void Kill()
   {
       _weapon.Shoot();
   }
}

public class Rifle : IWeapon
{
   public void Shoot()
   {
   }
}

如何使用Ninject在Killer类中注入Rifle?

1 个答案:

答案 0 :(得分:2)

Ninject不会注入静态,因为这应该使用InSingletonScope来完成。它也不支持字段注入,因为不应该从类外部访问字段。改为使用构造函数或属性注入。