zoukankan      html  css  js  c++  java
  • autofac笔记

     /// <summary>
        /// 数据源操作接口
        /// </summary>
        public interface IDataSource
        {
            /// <summary>
            /// 获取数据
            /// </summary>
            /// <returns></returns>
            string GetData();
        }
    
    public class Oracle : IDataSource
        {
            public string GetData()
            {
                return "通过Oracle获取数据";
            }
        }
    
      class Sqlserver : IDataSource
        {
            public string GetData()
            {
                return "通过SQLSERVER获取数据";
            }
        }
    
     /// <summary> 
        /// 数据源管理类
        /// </summary
        public class DataSourceManager
        {
    
            IDataSource _ds;
            string Name;
            /// <summary>
            /// 根据传入的类型动态创建对象
            /// </summary>
            /// <param name="ds"></param>
            public DataSourceManager(string name, IDataSource ds)
            {
                _ds = ds;
                Name = name;
            }
    
            public string GetData()
            {
                return Name + "" + _ds.GetData();
            }
        }
    
    
      public static void test3()
            {
                var builder = new ContainerBuilder();
                builder.RegisterType<DataSourceManager>();
                builder.RegisterType<Sqlserver>().Named<IDataSource>("SqlServer");
                builder.RegisterType<Oracle>().Named<IDataSource>("Oracel");
                using (var container = builder.Build())
                {
                    var ds = container.ResolveNamed<IDataSource>("Oracel");
                    var manager = container.Resolve<DataSourceManager>(new NamedParameter("name", "STONE刘先生"), new NamedParameter("ds", ds));
                    Console.WriteLine(manager.GetData());
                    Console.ReadLine();
                }
            }
  • 相关阅读:
    Subversion 1.5.5 与 Apache 2.2 结合
    IE6 式样表 Bug
    Dreamweaver 禁止自动换行
    错误:Internet Explorer cannot open the Internet site
    Html Agility Pack – XPath 基本语法
    不要安装 CodeSmith 5.2
    控件包含代码块,因此无法修改控件集合
    单例模式
    第一篇博文
    包与导入的概念
  • 原文地址:https://www.cnblogs.com/wangchuang/p/12296660.html
Copyright © 2011-2022 走看看