C#教程

关注公众号 jb51net

关闭
首页 > 软件编程 > C#教程 > C#反射应用

C#反射应用实例

投稿:shichen2014

这篇文章主要介绍了C#反射应用,实例分析了通过反射实现多系统数据库的配置方法,是比较实用的技巧,需要的朋友可以参考下

本文实例讲述了C#反射应用。分享给大家供大家参考。具体如下:

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

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

配置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");
        }
    }
}

输出效果如下图所示:

希望本文所述对大家的C#程序设计有所帮助。

您可能感兴趣的文章:
阅读全文