麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

unity三種注入示例

2019-11-14 16:14:41
字體:
來源:轉載
供稿:網友
  1 /*  2  * 演示Unity 注入  3  * */  4 using Microsoft.PRactices.Unity;  5 using System;  6   7 namespace Unity.Property.Inject  8 {  9     class Program 10     { 11         public static IUnityContainer container; 12  13         static void Main(string[] args) 14         { 15             container = new UnityContainer(); 16  17             //PropertyInject(); 18             //ConstructorInject(); 19             MethodInject(); 20  21             Console.ReadLine(); 22         } 23  24         /// <summary> 25         /// 構造注入 26         /// </summary> 27         static void ConstructorInject() 28         { 29             Console.WriteLine("構造注入"); 30             container.RegisterType<ILog, ALog>(); 31             //container.RegisterType<ILog, BLog>(); 32  33             container.RegisterType<ipeople, Man>(); 34             //container.RegisterType<IPeople, Woman>(); 35  36             var people = container.Resolve<IPeople>(); 37             people.Print2(); 38         } 39  40         /// <summary> 41         /// 屬性注入 42         /// </summary> 43         static void PropertyInject() 44         { 45             Console.WriteLine("屬性注入"); 46             //通過Register不同的ILog的派生類型,達到用不同的日志組件進行打印 47  48             //container.RegisterType<ILog, ALog>(); 49             container.RegisterType<ILog, BLog>(); 50  51             container.RegisterType<IPeople, Man>(); 52             //container.RegisterType<IPeople, Woman>(); 53  54             var people = container.Resolve<IPeople>(); 55             people.Print(); 56         } 57  58         static void MethodInject() 59         { 60             Console.WriteLine("函數注入"); 61             //通過Register不同的ILog的派生類型,達到用不同的日志組件進行打印 62  63             //container.RegisterType<ILog, ALog>(); 64             container.RegisterType<ILog, BLog>(); 65  66             container.RegisterType<IPeople, Man>(); 67             //container.RegisterType<IPeople, Woman>(); 68  69             var people = container.Resolve<IPeople>(); 70             people.Logger.Write("函數注入 " + people.Logger != null ? "成功" : "失敗"); 71         } 72     } 73  74     public interface IPeople 75     { 76         /// <summary> 77         /// 屬性注入用 78         /// </summary> 79         ILog Logger { get; set; } 80  81         /// <summary> 82         /// 構造注入用 83         /// </summary> 84         ILog Logger2 { get; set; } 85  86         String Name { get; set; } 87  88         String Sex { get; set; } 89  90         /// <summary> 91         /// 屬性注入用 92         /// </summary> 93         void Print(); 94  95         /// <summary> 96         /// 構造注入用 97         /// </summary> 98         void Print2(); 99 100         /// <summary>101         /// 函數注入用102         /// </summary>103         void Print3(ILog logger);104     }105 106     public class Man : IPeople107     {108         [Dependency]109         public ILog Logger { get; set; }110         public ILog Logger2 { get; set; }111 112         public string Name { get; set; }113 114         public string Sex { get; set; }115 116         public Man(ILog logger2) { this.Logger2 = logger2; }117 118         public void Print()119         {120             Logger.Write(base.ToString());121         }122 123         public void Print2()124         {125             Logger.Write(base.ToString());126         }127 128         [InjectionMethod]129         public void Print3(ILog logger)130         {131             this.Logger = logger;132         }133     }134 135     public class Woman : IPeople136     {137 138         [Dependency]139         public ILog Logger { get; set; }140         public ILog Logger2 { get; set; }141 142         public string Name { get; set; }143 144         public string Sex { get; set; }145 146         public Woman(ILog logger2) { this.Logger2 = logger2; }147 148         public void Print()149         {150             Logger.Write(base.ToString());151         }152 153         public void Print2()154         {155             Logger.Write(base.ToString());156         }157 158         [InjectionMethod]159         public void Print3(ILog logger)160         {161             this.Logger = logger;162         }163     }164 165 166     public interface ILog167     {168         void Write(String msg);169     }170 171     public class ALog : ILog172     {173         public void Write(String msg) { Console.WriteLine("[A] {0}", msg); }174     }175 176     public class BLog : ILog177     {178         public void Write(String msg) { Console.WriteLine("[B] {0}", msg); }179     }180 }

 


上一篇:LinkToSql簡單

下一篇:Task的一些用法總結

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 亚洲日韩精品欧美一区二区 | 91av在线国产 | 久久免费综合视频 | 成人福利在线视频 | 色婷婷av一区二区三区久久 | 精品国产一区二区三区成人影院 | 中文字幕极速在线观看 | 黄色视频一级毛片 | 色综合久久久久久久久久久 | 在线成人免费网站 | 精品一区二区电影 | 国产亚洲精品久久久久久久软件 | 九一免费版在线观看 | 一级黄色在线免费观看 | 国产精品久久久久久久久久大牛 | 国产成人在线观看免费 | av在线免费观看网 | 在线小视频国产 | 国产精品久久国产精麻豆96堂 | 欧美精品日日鲁夜夜添 | 国产一区二区三区四区五区在线 | 欧美日本综合 | 免费激情网站 | 免费a视频在线观看 | 91成人免费网站 | 日韩中字幕 | 午夜久久久精品一区二区三区 | 一日本道久久久精品国产 | 热久久成人 | 蜜桃传媒视频麻豆第一区免费观看 | 日韩av电影在线免费观看 | 国产一区二区在线免费 | 日韩欧美中文字幕视频 | omofun 动漫在线观看 | 欧美日韩高清不卡 | 午夜国产精品成人 | 国产精品av久久久久久无 | 在线免费av观看 | 欧美一级免费在线观看 | 日本道中文字幕 | 日韩黄色片网站 |