源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

C#反射应用实例

  • 时间:2020-10-01 04:29 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:C#反射应用实例
本文实例讲述了C#反射应用。分享给大家供大家参考。具体如下: [b]通过反射实现多系统数据库的配置[/b] 通过定义接口,反射实例化配置的节点的值 [b]配置App.config: [/b]
[u]复制代码[/u] 代码如下:
<?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添加到项目中 [b]接口定义: [/b]
[u]复制代码[/u] 代码如下:
namespace FactoryInterface {     interface IDAL     {         void insert();     } }
[b]Program定义: [/b]
[u]复制代码[/u] 代码如下:
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");         }     } }
输出效果如下图所示: [img]http://files.jb51.net/file_images/article/201412/201412494724639.png?201411494738[/img] 希望本文所述对大家的C#程序设计有所帮助。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部