В моем бизнес-объекте мне нужно получить текущий час (DateTime с минутами и секундами = 0).
Я создал такую функцию:
private DateTime GetCurrentHour()
{
return DateTime.Today.AddHours(DateTime.Now.Hour);
}
Если яиспользовать его таким образом
var lastHour=GetCurrentHour();
Я получаю исключение NullReferenceException ????
Использование в той же функции следующим образом:
var ora = new NHRepository<OraProduzione>(Session)
.First(x => x.Data == GetCurrentHour().AddHours(-1));
Я не получаю исключения Почему?
Это трассировка стека:
in ImpelSystems.Produzione.Business.Calendario.TimerWakeUp() in \Calendario.cs:riga 115
in ImpelSystems.Produzione.Business.Calendario.<.ctor>b__1(Object x) in \Calendario.cs:riga 78
in System.Threading._TimerCallback.TimerCallback_Context(Object state)
in System.Threading.ExecutionContext.runTryCode(Object userData)
in System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)
in System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
in System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
in System.Threading._TimerCallback.PerformTimerCallback(Object state)
TimerWakeUp выполняется на таймере, созданном с помощью
timer = new System.Threading.Timer(x => TimerWakeUp(), null, new TimeSpan(0, 0, 0, 10), new TimeSpan(0, 0, 0, 10));