zoukankan      html  css  js  c++  java
  • 多注入 Kevin

    下面介绍一下如何在Ninject范围内多次注入。

    现在,我们要给士兵装备多种武器,有剑有大刀。

    修改Samuria类,修改后的代码如下:

     1 class Samurai
     2     {
     3         readonly IWeapon[] weapons;
     4         public Samurai(IWeapon[] weapons)
     5         {
     6             this.weapons = weapons;
     7         }
     8 
     9         public void Attack(string targer)
    10         {
    11             foreach (IWeapon weapon in weapons)
    12             {
    13                 weapon.Hit(targer);
    14             }
    15         }
    16     }

    在Ninject的Model类中绑定多个武器:

    1 class TestModel:Ninject.Modules.NinjectModule
    2     {
    3         public override void Load()
    4         {
    5             Bind<IWeapon>().To<Sword>();
    6             Bind<IWeapon>().To<Shuriken>();
    7         }
    8     }

    然后在主函数中,开枪

    1 static void Main(string[] args)
    2         {
    3             IKernel kernel = new StandardKernel(new TestModel());
    4             var samurail = kernel.Get<Samurai>();
    5             samurail.Attack("your army!");
    6 
    7             Console.Read();
    8         }

    这样就实现了给一个士兵绑定多把武器。

  • 相关阅读:
    5. Redis持久化
    4.Redis客户端
    3.Redis高级功能
    2.Redis五种数据结构
    1.Redis简介
    32.Mysql Cluster
    suffix ACM-ICPC 2017 Asia Qingdao
    多层BFS
    我想和你们说说java和C++___C加加
    11073 最热门的K个搜索串
  • 原文地址:https://www.cnblogs.com/kfx2007/p/3120739.html
Copyright © 2011-2022 走看看