zoukankan      html  css  js  c++  java
  • 初偿castle 的功能 ,里面的Register很有意思,这个的实现,我将在下一期公布,或者研究后再编辑一下此文章

    using Castle.MicroKernel;
    using Castle.MicroKernel.Registration;
    using Castle.MicroKernel.SubSystems.Configuration;
    using Castle.Windsor;
    using Castle.Windsor.Installer;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace castleDemo
    {
        class Program
        {
            private static ITest _test;
    
            static void Main(string[] args)
            {
                WindsorContainer container = WindsorInit.GetContainer();
                _test = container.Resolve<ITest>(new Arguments());
                var result = _test.Add(10, 20);
                Console.WriteLine(result);
               
    
            }
        }
    
        public interface ITest
        {
            int Add(int a, int b);
        }
    
        public class Test : ITest
        {
            public int Add(int a, int b)
            {
                return a + b;
            }
        }
    
        public class WindsorInstaller : IWindsorInstaller
        {
            public void Install(IWindsorContainer container, IConfigurationStore store)
            {
                //单个注册法,还有其他方式
                //ITest为接口,Test为接口的实现类
                container.Register(Component.For<ITest>().ImplementedBy<Test>());
            }
        }
        public class WindsorInit
        {
            private static WindsorContainer _container;
            public static WindsorContainer GetContainer()
            {
                if (_container == null)
                {
                    _container = new WindsorContainer();
                    _container.Install(FromAssembly.This());
                }
                return _container;
            }
    
            public void CloseContex()
            {
                _container.Dispose();
            }
        }
    }
    

      

  • 相关阅读:
    使用Ansible连接AWS EC2
    centos7 常用工具包安装
    基于redis的分布式ID生成器
    使用Docker的macvlan为容器提供桥接网络及跨主机通讯
    小程序使用腾讯视频
    切换 Python2 Python3
    PHP字符串替换
    小程序常用操作,if,for,跳转,弹出提示
    小程序订单核销的思路
    PHP 批量删除的实现
  • 原文地址:https://www.cnblogs.com/wuguangwei/p/11274448.html
Copyright © 2011-2022 走看看