使用C#的反射机制时遇到的问题

使用C#的反射机制时遇到的问题,第1张

使用C#的反射机制时遇到的问题,第2张

DALFactory项目是用工厂模式设计的。我也看过java的设计模式书,理解不深,但对工厂模式比较熟悉。使用它可以根据需求返回不同的实例对象,在DALFactory项目中使用反射机制实现依赖注入。当然,它的实现仍然没有Java中的spring灵活强大。一些代码如下:

//< summary >
//抽象工厂创建DAL。
//web.config需要配置:(使用工厂模式+反射机制+缓存机制,实现不同数据层对象接口的动态创建)
//DataCache类在导出代码的文件夹中
//可以把所有DAL类的创建放在这个DataAccess类中
/< app settings >
/< add key = " DAL " value = " smssystem . SQL server DAL "/>(这里的名称空改为公共密封类data access
{
私有静态只读字符串path = ConfigurationManager。AppSettings[" DAL "];
//< summary >
//创建一个对象或从缓存中获取该对象
/
公共静态对象CreateObject (String Path,String cache key)
{
Object type//Read
if(objtype = = null)
{
try
{
/assembly assembly = new assembly();
objType = Assembly。加载(路径)。create instance(cache key);//反射创建
data cache . set cache(cache key,objtype);//写入缓存
}
catch(system . exception ex)
{
string str = ex . message;//
SMS system . utility . savelog . save infolog(str,"错误日志","异常");
}
}
return objType;
}
//< summary >
//创建一个对象
//
私有静态对象createobject nocache (string path,string cache key)
{
{
object objType = Assembly。加载(路径)。create instance(cache key);
返回objType
}
catch//(System。exception ex)
{
//string str = ex。消息;//记录错误日志
返回null
}
}
/< summary >
//创建客户员工数据层接口
/
公共静态系统。IDAL . ICU stemployee createcusteemployee()
{
string cache key = path+"。客户员工";
object objType = CreateObject(path,cache key);
return(ICustEmployee)objType;
}

[br/]]

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 使用C#的反射机制时遇到的问题

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情