您的位置:首页 > 其它

利用反射动态实例化对象(工厂模式)

2007-07-01 21:50 399 查看
需要注意的是程序集名称要与web.config配置文件中定义的名称匹配,程序集名称可通过 右键“项目”→“属性”进行修改

using System;
using System.Collections.Generic;
using System.Text;
using System.Reflection;
using System.Configuration;

using wzh.Njiagou.IDAL;

namespace wzh.Njiagou.DALFactory
{ /// <summary>
/// 数据库访问层工厂
/// </summary>
public class DataAccess
{
/// <summary>
/// 驱动数据库任务对象实例
/// </summary>
public IGBook DriveGbook()
{
// 获取程序集名称
string assemblyName = ConfigurationManager.AppSettings["AssemblyName"];
// 获取默认构造器名称
string className = ConfigurationManager.AppSettings["Constructor"];

// 建立 IGBook 对象实例
return (IGBook)Assembly.Load(assemblyName).CreateInstance(className);
}
}
}

--------------------
<appSettings>
<!--
//
// Access 2000 数据库任务程序集及驱动类名称
// 如果希望 TraceLWord7 运行在 Access 2000 数据库平台上,
// 则打开这个注释信息。
// 并用注释符号掩释 SQLServer 2000 的标记
// -->
<add key="AssemblyName" value="wzh.Njiagou.AccessDAL" />
<add key="Constructor" value="wzh.Njiagou.AccessDAL.gbook" />

<!--// SQLServer 2000 数据库任务程序集及驱动类名称 //
<add key="AssemblyName" value="wzh.Njiagou.SQLServerDAL"/>
<add key="Constructor" value="wzh.Njiagou.SQLServerDAL.gbook"/>-->
</appSettings>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: