PDA

View Full Version : سوال: این کد رو خوب متوجه نمیشم



SardareEshgh
پنج شنبه 19 اردیبهشت 1398, 13:00 عصر
با سلام.
یه برنامه دارم که میخوام هر روز سر ساعت مشخصی کاری رو انجام بده.
قطعه کد زیر رو پیدا کردم قسمتهایی از این کد رو متوجه نمیشم ممنون میشم توضیح بدید:


using Timer=System.Threading.Timer;
class MyScheduledTask
{
private static Timer dailyWakeupCall;

static void Main(string[] args)
{
SetTime();
Thread.Sleep(System.Threading.Timeout.Infinite);
}

private static void SetTime()
{
DateTime currentTime = DateTime.Now;
DateTime scheduleTime = new DateTime(currentTime.Year, currentTime.Month, currentTime.Day, 12, 45, 0);

TimeSpan period = new TimeSpan(1,0,0,0); // days, hours, minutes, seconds
// or you could use @Mat's suggestion and say = TimeSpan.FromDays(1.0);
TimeSpan initialInterval;
if (currentTime <= scheduleTime)
{
initialInterval = scheduleTime.Subtract(currentTime);
}
else
{
initialInterval = scheduleTime.AddDays(1).Subtract(currentTime);
}

dailyWakeupCall = new Timer(_timerElapsed, null, initialInterval, period);
}

void _timer_Elapsed(object state)
{
StartTaskWork();
}
}
اولا

initialInterval = scheduleTime.Subtract(currentTime);
چیکار میکنه ؟
دوم :

dailyWakeupCall = new Timer(_timerElapsed, null, initialInterval, period); این چیکار میکنه . البته
_timerElapsed نمیدونم چیه خطا میده.

ممنون