在this后我谈到了使用通用的基类,使我能够创建存储库类而无需重复加载基本管道代码的负载。C#:方法的通用实现不满足接口
通过接口访问每个存储库。在下面的代码,我将只显示的为了简洁起见,方法之一:
接口:
IQueryable<Suggestion> All { get; }
通用基类
public IQueryable<T> All
{
get { return _unitOfWork.GetList<T>(); }
}
混凝土类 (实现接口并扩展通用基类)
public IQueryable<Suggestion> All
{
get { return _unitOfWork.GetList<Suggestion>(); }
}
我预料到我可以简单地将该方法从具体类中剥离出来,而编译器将使用泛型基类实现来解决问题,并计划用于满足接口。但不是!
当我把这个方法去掉时,我得到了'没有实现接口成员'的错误。
如果我不能做到这一点,我的努力使用泛型基类是不是毫无意义?或者有没有办法解决这个问题?
添加类的声明,请。 – 2010-09-02 12:38:56
你具体的类定义是什么样的? T从哪里来? – 2010-09-02 12:40:25
具体课程的声明如何看?你应该包括这个,因为这可能是问题所在。如果它是混凝土:基地,IYourInterface,那么它应该工作。 –
2010-09-02 12:41:48