📄 dataaccesshelper.cs
字号:
using System;
using System.Configuration;
namespace ASPNET.StarterKit.DataAccessLayer {
/// <summary>
/// 数据访问层辅助类,从配置文件中获取数据访问类的类型,创建数据访问类的实例并返回。
/// </summary>
public class DataAccessHelper {
//一个获取数据访问类实例的静态方法
public static DataAccess GetDataAccess() {
//从Web.Config中读取配置信息
string dataAccessStringType = ConfigurationManager.AppSettings["aspnet_staterKits_TimeTracker_DataAccessLayerType"];
if (String.IsNullOrEmpty(dataAccessStringType)) {
throw (new NullReferenceException("必须在appSettings配置节添加aspnet_staterKits_TimeTracker_DataAccessLayerType配置"));
}
else {
//获取指定名称的类型
Type dataAccessType = Type.GetType(dataAccessStringType);
if (dataAccessType == null) {
throw (new NullReferenceException("DataAccessType没有定义"));
}
//获取DataAccess抽象类的类型
Type tp = Type.GetType("ASPNET.StarterKit.DataAccessLayer.DataAccess");
//确定dataAccessType类型可以赋值给DataAccess
if (!tp.IsAssignableFrom(dataAccessType)) {
throw (new ArgumentException("DataAccessType 不是派生自 ASPNET.StarterKit.DataAccessLayer.DataAccess "));
}
//创建dataAccessType类型的实例,并赋值给DataAccess类型。
DataAccess dc = (DataAccess)Activator.CreateInstance(dataAccessType);
return (dc);
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -