【发布时间】:2012-10-12 10:55:33
【问题描述】:
private List<T> ParsePolicyDetails<T>(List<HouseHoldview> lsthousehold)
{
List<T> lstPolicyInfo = new List<T>();
var checkInHouseHold = from c in lsthousehold
where c.PolicyDetail.Any(p => p.LineOfBusiness.Trim().ToUpper() == "A" && p.PolicySourceSystem.ToUpper().Trim() != "PLCS"
&& p.PolicySourceSystem.ToUpper().Trim() != "APS"
&& p.PolicySourceSystem.ToUpper().Trim() != "FOREMOST")
select c.PolicyDetail;
foreach (var policies in checkInHouseHold)
{
var chek=policies.Where(p => p.LineOfBusiness.Trim().ToUpper() == "A" && p.PolicySourceSystem.ToUpper().Trim() != "PLCS"
&& p.PolicySourceSystem.ToUpper().Trim() != "APS"
&& p.PolicySourceSystem.ToUpper().Trim() != "FOREMOST" && p.LineOfBusiness.ToUpper().Trim() == "A");
lstPolicyInfo.Add(chek);
}
return lstPolicyInfo;
}
看起来很简单的代码,但是会报错。由于 chek 不是 T 类型,如何处理
错误是'System.Collections.Generic.List.Add()的最佳重载方法匹配
【问题讨论】:
-
请添加语言标签,这看起来像 C#
-
1) 您正在尝试将一个序列(调用
Where的结果)添加到一个列表中。这听起来是个坏主意。 2)看起来这根本不应该是通用的。 3) “但给出错误”永远是不够的信息 - 总是说出错误是什么。