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();
                }
            }
  • 相关阅读:
    今天的进度又慢了
    继续还有一些基本功能
    没什么事情
    今天好冷啊
    估计下周一就不去了
    再次出发
    诡异的php curl error Empty reply from server
    postgresql interval 字段拼接
    使用root用户通过SSH登录Linux实例时报“Permission denied, please try again”的错误
    pgsql 记录类型
  • 原文地址:https://www.cnblogs.com/wangchuang/p/12296660.html
Copyright © 2011-2022 走看看