国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

unity三種注入示例

2019-11-14 16:14:41
字體:
供稿:網(wǎng)友
  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         /// 構(gòu)造注入 26         /// </summary> 27         static void ConstructorInject() 28         { 29             Console.WriteLine("構(gòu)造注入"); 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的派生類型,達(dá)到用不同的日志組件進(jìn)行打印 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("函數(shù)注入"); 61             //通過Register不同的ILog的派生類型,達(dá)到用不同的日志組件進(jìn)行打印 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("函數(shù)注入 " + 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         /// 構(gòu)造注入用 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         /// 構(gòu)造注入用 97         /// </summary> 98         void Print2(); 99 100         /// <summary>101         /// 函數(shù)注入用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 }

 


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 皮山县| 甘谷县| 米脂县| 韶山市| 定州市| 腾冲县| 中宁县| 临安市| 哈巴河县| 敦化市| 砀山县| 罗甸县| 敖汉旗| 郁南县| 台江县| 习水县| 苗栗县| 平谷区| 旌德县| 定远县| 游戏| 杭锦后旗| 贡觉县| 永春县| 澜沧| 光山县| 瓦房店市| 太康县| 应城市| 石家庄市| 镇康县| 尚志市| 临江市| 闵行区| 玉环县| 无棣县| 永清县| 湖南省| 中西区| 四子王旗| 浏阳市|