前言
最近在敲个人重构,敲了一半了,之前遇到的问题都不一样,出现一个解决一个,近几天一直出现同一个问题,上网查只有大概的解决方案,试了试,也解决不了,接下来给大家展示一下到底是什么问题,频繁出现还解决不了。
问题
“DAL.rechargeDAL”不实现接口成员“IDAL.rechargeIDAL.chargeIDAL(Entity.ReChargeEntity)”
每一个功能的DAL层都报了这样的错,下面是我的D层与接口层的代码。
public class rechargeDAL : rechargeIDAL
{
public DataTable chargeDAL(ReChargeEntity RCE)
{
SqlHelper sqlhelper = new SqlHelper();
SqlParameter[] ps = { new SqlParameter("@cardno", RCE.CardNo) };
string sql = "select * from ReCharge_info where cardno = @cardno";
DataTable list = sqlhelper.ExecuteQuery(sql, ps);
return list;
}
}
public interface rechargeIDAL
{
DataTable chargeIDAL(ReChargeEntity RCE);
}
看着代码没啥毛病,写的挺好的,但就是报错,上网查了好多解决方案,接下来给大家分享出现借口成员错误的解决方案,以及我自己这个问题的解决方案。
解决方案
只要继承了接口,就必须全部全写interface中的成员函数
例如interface中有以下定义 public int a();
继承接口的类中必须这样写: public override a() {}
- 在 报错的那句话上面点右键,选择实现接口。
- 还有就是代码里边缺少public
- 我的代码出现这个问题是因为,D层跟接口层不一致,接口层写的是DataTable chargeIDAL,而D层写的是DataTable chargeDAL,就少了个字母,继承接口层就要跟接口层一直。