1
 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() 的最佳重载方法匹配

4

2 回答 2

1

这种方法不是通用的;你想更换

  • List<T>List<WhateverTypeHouseHoldview.PolicyDetailIs>
  • ParsePolicyDetails<T>ParsePolicyDetails
  • lstPolicyInfo.AddlstPolicyInfo.AddRange
于 2012-10-12T10:59:49.590 回答
0

我认为 var 的使用可能会造成混淆。

尝试将它们更改为实际类型,这可能会帮助您了解发生了什么。

如果没有看到其他班级是如何设置的,很难说清楚。

于 2012-10-12T11:08:41.947 回答