首页 > 学院 > 开发设计 > 正文

反射应用

2019-11-14 16:19:32
字体:
来源:转载
供稿:网友

1.通过反射实现多系统数据库的配置

通过定义接口,反射实例化配置的节点的值

配置App.config,(关于APP.config的配置有一篇博文很丰富,参见周公博客)

<?xml version="1.0" encoding="utf-8" ?><configuration>  <appSettings>    <add key="DAL" value="FactoryInterface.Oracle"/>  </appSettings></configuration>

通过System.Configuration.ConfigurationManager.AppSettings读取该key的value,使用Configuration需要将其dll添加到项目中

接口定义

namespace FactoryInterface{    interface IDAL    {        void insert();    }}

PRogram定义

namespace FactoryInterface{    class Program    {        static void Main(string[] args)        {            string config = System.Configuration.ConfigurationManager.AppSettings["DAL"];            Console.WriteLine(config);            Type t = Type.GetType(config);            IDAL dal =(IDAL) System.Activator.CreateInstance(t);            dal.insert();            Console.ReadKey();        }    }    class MySQL : IDAL {        public void insert() {            Console.WriteLine("this data insert by MySql");        }    }    class Oracle : IDAL    {        public void insert()        {            Console.WriteLine("this data insert by Oracle");        }    }}

输出效果:

image


上一篇:C#委托的异步调用

下一篇:反射基础

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表