C# 为什么我总是在将泛型列表转换为相同的列表类型时出错?

C# 为什么我总是在将泛型列表转换为相同的列表类型时出错?,c#,generic-list,C#,Generic List,我遇到了这个错误 无法从“System.Collections.Generic.List”转换为“HWC.DataAccess.FAREmailList”HWC.DataAccess 我不理解这个错误,因为它是相同的列表类型 这是我正在使用的方法 public void PrepareToSendEmailFromFAR(int id) { HWC = new HWCEntities(); FileAReport far = HWC.FileAReports.Where(w =

我遇到了这个错误

无法从“System.Collections.Generic.List”转换为“HWC.DataAccess.FAREmailList”HWC.DataAccess

我不理解这个错误,因为它是相同的列表类型

这是我正在使用的方法

public void PrepareToSendEmailFromFAR(int id)
{
    HWC = new HWCEntities();

    FileAReport far = HWC.FileAReports.Where(w => w.FileAReportID == id).FirstOrDefault();

    List<FAREmailList> emailList = null;



    if(far.DistrictID != 0)
    {
        emailList = new List<FAREmailList>();
        var query = from dcx in HWC.DistrictContactXREFs
                    where
                      dcx.DistrictID == far.DistrictID
                    select new
                    {
                        dcx.ContactID,
                        dcx.Contact.ContactEmail,
                        dcx.Contact.ContactName
                    };

        foreach(var a in query)
        {
            emailList.Add(new FAREmailList
            {
                ContactName = a.ContactName,
                EmailAddress = a.ContactEmail
            });
        }

        SendEmailFromFAR(emailList);
    }

    if(far.DistrictID == 0)
    {
        emailList = new List<FAREmailList>();
        var query = from dcx in HWC.DistrictContactXREFs
                    join d in HWC.Districts on dcx.DistrictID equals d.DistrictID into d_join
                    from d in d_join.DefaultIfEmpty()
                    join sp in HWC.StateProvinces on new { StateProvinceID = d.StateID } equals new { StateProvinceID = sp.StateProvinceID }
                    where
                      d.StateID == far.StateCountyID
                    select new
                    {
                        dcx.ContactID,
                        dcx.Contact.ContactEmail,
                        dcx.Contact.ContactName
                    };

        foreach (var a in query)
        {
            emailList.Add(new FAREmailList
            {
                ContactName = a.ContactName,
                EmailAddress = a.ContactEmail
            });
        }
        SendEmailFromFAR(emailList);
    }
}
数据类是

public class FAREmailList
{
    public string ContactName { get; set; }
    public string EmailAddress { get; set; }
}
错误正在被抛出

SendEmailFromFAR(电子邮件列表)


我看不出问题是什么,是不是因为这些都在同一个类文件中?

这个错误对我来说很有意义
emailList
的类型为
List
SendEmailFromFAR
FAREmailList
作为输入。

我认为错误是有意义的
emailList
的类型为
List
SendEmailFromFAR
FAREmailList
作为输入。

FAREmailList
不继承自
List
。我很确定你是想让
sendmailfromfar(列表el)
代替。另外,可能没有清楚地命名不是列表的东西
FAREmailList
。您的方法只会导出
FAREmailList
的一个实例,但是您提供了一个
list
FAREmailList
可能应该命名为
FAREmail
。这很令人困惑。投票结束只是简单的打字错误。你可以在一句话中创建列表。您根本不需要匿名类型<代码>电子邮件列表=(从…选择新建FAREmail{dcx.Contact.ContactEmail,dcx.Contact.ContactName})。ToList()
FAREmailList
不从
列表继承。我很确定你是想让
sendmailfromfar(列表el)
代替。另外,可能没有清楚地命名不是列表的东西
FAREmailList
。您的方法只会导出
FAREmailList
的一个实例,但是您提供了一个
list
FAREmailList
可能应该命名为
FAREmail
。这很令人困惑。投票结束只是简单的打字错误。你可以在一句话中创建列表。您根本不需要匿名类型<代码>电子邮件列表=(从…选择new FAREmail{dcx.Contact.ContactEmail,dcx.Contact.ContactName})。ToList()
public class FAREmailList
{
    public string ContactName { get; set; }
    public string EmailAddress { get; set; }
}