C#反射应用实例
程序员文章站
2023-12-16 11:53:40
本文实例讲述了c#反射应用。分享给大家供大家参考。具体如下:
通过反射实现多系统数据库的配置
通过定义接口,反射实例化配置的节点的值
配置app.config:
复...
本文实例讲述了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#程序设计有所帮助。