【发布时间】:2012-04-16 11:55:23
【问题描述】:
我有一个集合IQueryable<Car>,我想将它传递给一个泛型函数,该函数将IQueryable<T> 作为参数接收,类似于(位于基类中)。
public abstract class BaseController<T> : ControllerBase where T : BaseObj, new()
{
public IQueryable<T> FilterEntities(IQueryable<T> entities)
{
}
}
传递这个的正确方法是什么?投掷?安全演员?
【问题讨论】:
-
这个方法是在泛型类中定义的吗?因为你的方法不是通用的,所以它没有定义任何类型参数
-
这取决于你想用它做什么......
-
如果你只传递
IQueryable<Car>的实例,你为什么要让这个方法通用? -
不确定你想用
BaseController做什么,但如果可能的话,我会尽量避免使用它们。例如,如果您想在项目中使用普通控制器、Web api 控制器和异步控制器,则需要创建三个基本控制器并复制一些代码。相反,您应该查看全局或控制器级别的过滤器。
标签: c# generics collections