• 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();
                }
            }
  • 相关阅读:
    C# 解析json
    Java环境配置
    Wpf学习(五) 数据绑定Binding【小达原创】
    WPF学习(四) 样式 【小达原创】
    jQuery-- 格式化时间
    leetcode -- Nim Game
    Git 学习笔记--拉取远程分支到本地
    Git 学习笔记--删除错误提交的commit
    iOS开发-- 开发中遇到的问题汇总
    Javascript--数组转换成字符串
  • 原文地址:https://www.cnblogs.com/wangchuang/p/12296660.html
Copyright © 2020-2023  润新知