Выполнить функцию перед запуском таймера

#c# #date #datetime #timer

#c# #Дата #дата и время #таймер

Вопрос:

Я здесь немного новичок.У меня есть оконный сервис, в котором у меня есть таймер, который выполняет функцию через 1 минутный интервал..Я хочу выполнить функцию в первый раз перед запуском таймера, а затем после каждого интервала таймера…

вот мой код :

 public partial class ASMSFetchService : ServiceBase
{
    System.Timers.Timer updateAutoSMSTimer;

    public ASMSFetchService()
    {
        InitializeComponent();

    }

    protected override void OnStart(string[] args)
    {
        updateAutoSMSTimer = new System.Timers.Timer(1 * 60 * 1000);
        updateAutoSMSTimer.Elapsed  = new System.Timers.ElapsedEventHandler(Slots);
        updateAutoSMSTimer.Enabled = true;
        updateAutoSMSTimer.AutoReset = true;
        updateAutoSMSTimer.Start();
     }

    private void Slots(object sender, ElapsedEventArgs e)
    {method1();}

    private void method1()
    { //SomeOpeartion }
}
  

Функция выполняется по истечении 1 интервала таймера …Я хочу вызвать метод1() перед запуском таймера, а затем после каждого интервала таймера….

Я попытался поместить метод в Start() и в конструктор () .. Но он не работает…Я не уверен .. но возможно ли это???

Любое предложение будет полезно

Ответ №1:

Я хочу вызвать метод1() перед запуском таймера, а затем после каждого интервала таймера

Затем вызовите ее перед запуском таймера

 method1();
updateAutoSMSTimer.Start();
  

Ответ №2:

попробуйте вызвать if перед запуском then :

  protected override void OnStart(string[] args)
        {
            updateAutoSMSTimer = new System.Timers.Timer(1 * 60 * 1000);
            updateAutoSMSTimer.Elapsed  = new System.Timers.ElapsedEventHandler(Slots);
            updateAutoSMSTimer.Enabled = true;
            updateAutoSMSTimer.AutoReset = true;
            method1();
            updateAutoSMSTimer.Start();
         }