0

如何将 filterSettnig 参数从 Linq ConvertAll 方法传递给 CalculateEndDateTime 方法?

public static List<IAppointment> ConvertToIAppointment(
                                 List<Misa.Runtime.Entities.Agenda> appointments,
                                 AgFilterDisplay filterSettnig)
{
    List<Misa.Agenda.IAppointment> result = null;
    if (appointments != null)
        result = appointments.ConvertAll<IAppointment>(CalculateEndDateTime(/*here i want to pass filterSettnig parameter*/));
    return result;
}

private static IAppointment CalculateEndDateTime(Entities.Agenda agenda, 
                                                 AgFilterDisplay filterSettnig)
{
    IAppointment result = null;

    if (agenda.ClusterID > 0)
    {
        if (agenda.StartDateTime.Date != agenda.EndDateTime.Date)
        {
            agenda.EndDateTime = agenda.StartDateTime.Date.Add(new TimeSpan(23, 59, 59));
        }
    }

    result = (IAppointment)agenda;

    return result;
}
4

1 回答 1

2

改用Select它,它是 LINQ 的一部分。ConvertAll是一种List<T>方法,而不是 LINQ 方法。

result = appointments.Select(a => CalculateEndDateTime(a, filterSetting))
                     .ToList();
于 2012-12-05T14:42:26.233 回答