奇怪的"对象引用未设置为对象的实例" C#

时间:2017-09-03 09:03:24

标签: c# entity-framework datetime predicatebuilder

我试图比较日期并在原始比较上方的一行中有一个空引用异常。如果我评论下面这一行,上面的行就可以了,这很奇怪

var predicate = PredicateBuilder.New<CarAuction>(p => p.IsActive == true);
var weekendDate = Utility.NextDateOfWeekDay(DateTime.Now, DayOfWeek.Saturday);  //line 1
predicate = predicate.And(p => p.SaleEndDateTime <= weekendDate);  //line 2

函数NextDateOfWeekDay只返回一周中某一天的简单日期。

public static DateTime NextDateOfWeekDay(DateTime from, DayOfWeek dayOfWeek)
{
    int start = (int)from.DayOfWeek;
    int target = (int)dayOfWeek;
    if (target <= start)
        target += 7;
    int days = target - start;
    DateTime targetDate = from.AddDays(days);
    return targetDate;
}

每次调用时肯定会返回一个日期,因此它不能为空。例外情况是将null引用设置为object的实例。

enter image description here

如果我只是评论第2行,那么一切正常,这对我来说是个陌生的情况,因为在抛出异常时第2行还没有被执行。

P.S:我已经清理并重建了我的解决方案,而且我没有使用任何线程。

0 个答案:

没有答案