C#反射应用 C#反射应用实例
人气:0想了解C#反射应用实例的相关内容吗,在本文为您仔细讲解C#反射应用的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:C#,反射,应用,下面大家一起来学习吧。
本文实例讲述了C#反射应用。分享给大家供大家参考。具体如下:
通过反射实现多系统数据库的配置
通过定义接口,反射实例化配置的节点的值
配置App.config:
复制代码 代码如下:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="DAL" value="FactoryInterface.Oracle"/>
</appSettings>
</configuration>
<configuration>
<appSettings>
<add key="DAL" value="FactoryInterface.Oracle"/>
</appSettings>
</configuration>
通过System.Configuration.ConfigurationManager.AppSettings读取该key的value,使用Configuration需要将其dll添加到项目中
接口定义:
复制代码 代码如下:
namespace FactoryInterface
{
interface IDAL
{
void insert();
}
}
{
interface IDAL
{
void insert();
}
}
Program定义:
复制代码 代码如下:
namespace FactoryInterface
{
class Program
{
static void Main(string[] args)
{
{
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#程序设计有所帮助。
加载全部内容