内容简介:翻译自:https://stackoverflow.com/questions/1349227/c-sharp-abstract-generic-method
C#,.net 3.5
我正在尝试创建一个具有泛型方法的基类.从中继承的类应指定方法的类型.
这样做的前提是创建管理过滤的类.
所以我有:
public abstract class FilterBase {
//NEED Help Declaring the Generic method for GetFilter
//public abstract IQueryable<T> GetFilter<T>(IQueryable<T> query);
}
public class ProjectFilter:FilterBase {
public IQueryable<Linq.Project> GetFilter(IQueryable<Linq.Project> query) {
//do stuff with query
return query;
}
}
public class ProjectList {
public static ProjectList GetList(ProjectFilter filter) {
var query = //....Linq code...
query = filterCriteria.GetFilter(query);
}
}
认为它很简单,但我无法在FilterBase中获得GetFilter抽象方法的语法.
编辑
理想情况下,只想将方法保持为通用方法而不是类.如果不可能,请告诉我..
使FilterBase类本身是通用的.
public abstract class FilterBase<T>
{
public abstract IQueryable<T> GetFilter(IQueryable<T> query);
}
这将使您能够像这样创建ProjectFilter类:
public class ProjectFilter : FilterBase<Linq.Project>
{
public override IQueryable<Linq.Project> GetFilter(IQueryable<Linq.Project> query)
{
//do stuff with query
return query;
}
}
翻译自:https://stackoverflow.com/questions/1349227/c-sharp-abstract-generic-method
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
计算机程序的构造和解释
Harold Abelson、Gerald Jay Sussman、Julie Sussman / 裘宗燕 / 机械工业出版社 / 2004-2 / 45.00元
《计算机程序的构造和解释(原书第2版)》1984年出版,成型于美国麻省理工学院(MIT)多年使用的一本教材,1996年修订为第2版。在过去的二十多年里,《计算机程序的构造和解释(原书第2版)》对于计算机科学的教育计划产生了深刻的影响。第2版中大部分重要程序设计系统都重新修改并做过测试,包括各种解释器和编译器。作者根据其后十余年的教学实践,还对其他许多细节做了相应的修改。 海报:一起来看看 《计算机程序的构造和解释》 这本书的介绍吧!