zoukankan      html  css  js  c++  java
  • 依赖注入例子

     class Program
        {
            interface ILogger
            {
                void Log(string message);          
            }
            class Logger : ILogger
            {
                public void Log(string message)
                {
                    Console.WriteLine(message);
                }
            }

            interface IPropertyInject
            {
                ILogger PropertyLog { get; set; }
            }

            class PropertyInject : IPropertyInject
            {
                public ILogger PropertyLog { get; set; }
            }

            class ConstuctorInject
            {
                private ILogger ConstuctorLog;
                public ConstuctorInject(ILogger log)
                {
                    ConstuctorLog = log;
                }
                public void Log()
                {
                    ConstuctorLog.Log("我是构造函数注入");
                }
            }
            
            static void Main(string[] args)
            {
                var container = new WindsorContainer();
                container.Register(Component.For<ILogger>().ImplementedBy<Logger>());
                container.Register(Component.For<IPropertyInject>().ImplementedBy<PropertyInject>());
                container.Register(Component.For<ConstuctorInject>());

                var logger = container.Resolve<ILogger>();
                logger.Log("我是依赖注入实例化");

                var property = container.Resolve<IPropertyInject>();
                property.PropertyLog.Log("属性依赖注入");

                var consturctor = container.Resolve<ConstuctorInject>();
                consturctor.Log();
            }
        } 
  • 相关阅读:
    抓取csdn上的各类别的文章 (制作csdn app 二)
    数塔 动态规划
    Android 使用Fragment,ViewPagerIndicator 制作csdn app主要框架
    钥匙计数之二
    FusionCharts简单教程(三)-----如何自定义图表上的工具提示
    位图像素的颜色 携程编程大赛hdu
    Android 仿Win8的metro的UI界面(上)
    Android 省市县 三级联动(android-wheel的使用)
    JDK源码学习系列01----String
    互联网投稿渠道
  • 原文地址:https://www.cnblogs.com/ZengYunChun/p/6094203.html
Copyright © 2011-2022 走看看