私はC#の初心者です。ある時間間隔で特定のメソッドを呼び出さなければならないコンソールアプリケーションを作成する。System.Threading.Timer.Timer()に最適なオーバーロードされたメソッドが無効な引数を持っています
私はこれを検索して、System.Threading.Timer
クラスがこのような機能を実現できることを発見しましたが、実装方法はそれほどよくありません。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Threading;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Timer x = new Timer(test, null, 0, 1000);
Console.ReadLine();
}
public static void test()
{
Console.WriteLine("test");
}
}
}
をしかし、私は言うTimer x = new Timer(test, null, 0, 1000);
行でエラーが出ます:
System.Threading.Timer.Timer(System.Threadingための最良のオーバーロードされたメソッドの試合.TimerCallback、object、 int、int) '無効な引数があります
私は本当にしませんどのようにこの作業を適切に行うかを知っているが、誰かが初心者のためにタイマーを説明できるリンクや何かを持っていれば、私は感謝するだろう。
ありがとうございました。
public static void test()
TimerCallback
に必要な署名と一致しません:
public delegate void TimerCallback(
Object state
)
あなたから直接TimerCallback
を作成することはできませんことを意味し
http://msdn.microsoft.com/en-us/library/system.timers.timer%28v=VS.100%29 .aspxラムダを理解するかどうか分からないが、Jonの答えは上にある.. http://msdn.microsoft.com/en-us/library /system.threading.timercallback.aspx http://stackoverflow.com/質問/ 1416803/system-timer-timer-vs-system-threading-timer – MethodMan