C# Unity容器的使用

2021-04-01 18:26

阅读:650

标签:安装   cal   line   创建   code   情况   接口   android   idp   

  • 最简单的使用方式(记得安装Unity NuGet包呀)
               Console.WriteLine("***************Unity容器的初步应用***************");
               IUnityContainer container = new UnityContainer();//1 声明一个容器
               container.RegisterType();//2 初始化容器 注册类型
               IPhone phone = container.Resolve();//3 反射创建对象
               phone.Call();
  • 当你想使用一个接口 注册不同类型是 你需要指定名称 像下面这样 child、grandchild 便是指定的名称
               container.RegisterType();//抽象类      
               container.RegisterType("child");//1对多
               container.RegisterType("grandchild");//1对多

这样在你创建时 你可以像下面这样 指定创建

               AbstractPad pad = container.Resolve();
               var childPad = container.Resolve("child");
               var grandchildPad = container.Resolve("grandchild");

否则 注册是会出现覆盖的情况的 如下

               container.RegisterType();//抽象类
               container.RegisterType();//覆盖的

若是此时你创建对象 则pad将是 ApplePadChild类型

 var pad = container.Resolve();
  • 另外 父子类也会出现覆盖现象 比如
                container.RegisterType();//抽象类
                container.RegisterType();//父子类  会覆盖  因为这个也是AbstractPad 

此时创建对象 则pad也是 ApplePadChild类型

 var pad = container.Resolve();

C# Unity容器的使用

标签:安装   cal   line   创建   code   情况   接口   android   idp   

原文地址:https://www.cnblogs.com/Alicia-meng/p/13551564.html


评论


亲,登录后才可以留言!