C#反射应用实例

作者:shichen2014 时间:2023-11-03 14:47:46 

本文实例讲述了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#反射应用实例

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

标签:C#,反射
0
投稿

猜你喜欢

  • 详解JS与APP原生控件交互

    2022-11-21 21:28:15
  • eclipse maven 插件的安装和配置详解

    2023-08-24 16:57:01
  • Java多线程编程之读写锁ReadWriteLock用法实例

    2021-10-13 17:01:14
  • 深入了解Java虚拟机栈以及内存模型

    2022-02-17 13:37:50
  • Mybatis 缓存原理及失效情况解析

    2022-12-04 07:28:43
  • C#中使用CAS实现无锁算法的示例详解

    2023-07-01 20:57:44
  • Eclipse下编写java程序突然不会自动生成R.java文件和包的解决办法

    2023-11-19 00:24:05
  • 浅谈AnDroidDraw+DroidDraw实现Android程序UI设计的分析说明

    2023-09-28 20:41:51
  • Android开发实现SubMenu选项菜单和子菜单示例

    2022-05-31 06:32:10
  • Android编程中关于单线程模型的理解与分析

    2022-11-11 00:34:17
  • SpringCloud Gateway 路由配置定位原理分析

    2022-06-10 19:57:47
  • idea中如何使用git进行版本回退详解

    2022-03-24 06:28:11
  • c#读取XML多级子节点

    2023-10-10 21:03:44
  • Android自定义轮播图效果

    2022-10-27 06:31:26
  • Android中解决页签手指按下从左到右滑动的bug

    2021-06-04 19:22:40
  • java 出现Zipexception 异常的解决办法

    2022-11-07 11:03:03
  • 浅析C#静态类,静态构造函数,静态变量

    2022-04-10 03:33:14
  • Java使用雪花id生成算法详解

    2023-11-18 21:58:49
  • java实现Dijkstra最短路径算法

    2022-11-30 21:02:15
  • 详解Java的Hibernate框架中的Interceptor和Collection

    2023-08-18 04:02:55
  • asp之家 软件编程 m.aspxhome.com