首页 新闻 会员 周边

要反射一个实现了泛型接口的类,怎么写?

0
悬赏园豆:20 [已关闭问题] 关闭于 2013-10-08 10:31

我写了一个接口,专门规范系统日志的:

  public interface IErrorLog<T, U>
        where T : I_User
        where U : FileInfo
    {
        #region 错误日志写到文本
        /// <summary>
        /// 系统错误时保存错误日志
        /// </summary>
        /// <param name="page">发生错误页</param>
        /// <param name="err">异常对象</param>
        void Exp_WriteTxtErrorLog(Page page, Exception err);
        /// <summary>等,

现在实现他的类, public class D_T_ErrorLog_Exp : D_T_ErrorLog, IErrorLog<M_T_AdminUser, M_T_FileInfo>
    {

        #region IYiXianErrorLog<M_T_AdminUser> 成员
,最后我用工厂反射:
  public static IErrorLog<I_User, MSSQL.YiXianFramework.FileInfo> CreateYiXianErrorObj()
        {
            try
            {
                string spaceName = ConfigHelper.GetConfigString("errorSpaceName");
                object obj = Assembly.Load(spaceName).CreateInstance(spaceName + "." + ConfigHelper.GetConfigString("errorClassName"));
                return (IErrorLog<I_User, MSSQL.YiXianFramework.FileInfo>)obj;(到这块时,调试发现有对象,也生成成功
            }
但是运行就是报错:System.InvalidCastException: 无法将类型为“MSSQL.DAL.D_T_ErrorLog_Exp”的对象强制转换为类型,什么情况?求赐教

范立勇的主页 范立勇 | 初学一级 | 园豆:20
提问于:2013-07-06 13:42
< >
分享
所有回答(1)
0

可能是运行时程序的DLL和调试时的DLL不一致

Zachary_Fan | 园豆:762 (小虾三级) | 2013-07-06 15:54
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册