【C#】 无法将类型为“DAL.OnlineDAL”的对象强制转换为类型“IDAL.IOnlineIDAL”。
前言
最近在敲七层,苦不堪言呀。七个层传值,搞得我很晕。只好向巨人们请教。不过这是一个正常的过程,先要理解七层是怎么传值的,然后带去敲代码,这样会顺手很多,不会走很多弯路!
问题
无法将类型为“DAL.OnlineDAL”的对象强制转换为类型“IDAL.IOnlineIDAL”。
在我们利用反射的时候DAL对象转换为IDAL。出现这种问题的时候,我们一般会检查代码,检查好多遍之后发现代码一点错也没有。这时候我们想想是否在D层实现了这个接口(如下图)
如果现实了这个接口,还是不行,那就该检查这个接口是否是一个接口,如果我们创建一个类,把Class改Interface,表面上是成了接口,但是还是类的本质。在创建的时候就要选择接口才可以。
总结
经过上面的步骤基本上可以解决这类问题。在敲代码的过程中错误暴露的越多自己成长的越快,收获的越多。感谢那些巨人们,向巨人学习!