内容简介:翻译自: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 问题通用排查方法
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
MySQL性能调优与架构设计
简朝阳 / 2009-6 / 59.80元
《MySQL性能调优与架构设计》以 MySQL 数据库的基础及维护为切入点,重点介绍了 MySQL 数据库应用系统的性能调优,以及高可用可扩展的架构设计。 全书共分3篇,基础篇介绍了MySQL软件的基础知识、架构组成、存储引擎、安全管理及基本的备份恢复知识。性能优化篇从影响 MySQL 数据库应用系统性能的因素开始,针对性地对各个影响因素进行调优分析。如 MySQL Schema 设计的技巧......一起来看看 《MySQL性能调优与架构设计》 这本书的介绍吧!