内容简介:翻译自: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
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 通用xxe检测方法
- 一种通用的数据仓库分层方法
- 在C#中创建虚拟通用方法
- 找出软件通用功能点的方法
- 通用 Mapper 4.0.4 发布,新增差异更新方法
- 非原生 ROM 的 Crash 问题通用排查方法
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Python高效开发实战——Django、Tornado、Flask、Twisted(第2版)
刘长龙 / 电子工业出版社 / 2019-1 / 99
也许你听说过全栈工程师,他们善于设计系统架构,精通数据库建模、通用网络协议、后端并发处理、前端界面设计,在学术研究或工程项目上能独当一面。通过对Python 3及相关Web框架的学习和实践,你就可以成为这样的全能型人才。 《Python高效开发实战——Django、Tornado、Flask、Twisted(第2版)》分为3篇:上篇是Python基础,带领初学者实践Python开发环境,掌握......一起来看看 《Python高效开发实战——Django、Tornado、Flask、Twisted(第2版)》 这本书的介绍吧!