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<T>
继承自FilterBase
类型。 - Sam Harwell