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;
    }

非常に単純なコードのように見えますが、エラーが発生します。小切手はタイプ 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 に答える