mar*_*ith 2 c# linq extension-methods linq-to-sql
我正在尝试创建一个扩展方法,我可以转发IList状态并检查它们存在的天气,我认为最好的方法是做一个ILIST - 但也许我错了?这是将多个项目传递给方法的最佳方法 - 列表吗?它是一个通用的LIST,因此没有来自Object的转换等.
基本上我把它作为签名.
public static IQueryable<Building> WithStatus(this IQueryable<Building> qry,
IList<BuildingStatuses> buildingStatus)
{
//PSUEDO CODE
//return from v in qry
// where v.Status is IN MY LIST called buildingStatus
// select v;
}
Run Code Online (Sandbox Code Playgroud)
并且我使用它来调用它(下面的示例是在我的TDD中),它在我上面的方法中得到的值很大.
target.GetBuildings().WithStatus(new List<BuildingFilters.BuildingStatuses>()
{ BuildingFilters.BuildingStatuses.Available,
BuildingFilters.BuildingStatuses.Decommissioned });
Run Code Online (Sandbox Code Playgroud)
所以基本上我有我的列表(IList)它到达扩展方法有2个值很好,但需要在LINQ说我需要说
return from v in qry
where v.Status is IN MY LIST called buildingStatus
select v;
Run Code Online (Sandbox Code Playgroud)
非常感谢任何帮助,
关于我的扩展方法,它工作,因为我做了类似1但只传递类型BuildingStatus因此只有1 ...
这会对你有用吗:
return from v in qry
where buildingStatus.Contains(v.Status)
select v;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1363 次 |
| 最近记录: |