I\'m making a console application that must call a certain method in timed intervals.
I\'ve searched for that and found that the System.Threading.Timer
The problem is that the signature of your test()
method:
public static void test()
doesn't match the required signature for TimerCallback
:
public delegate void TimerCallback(
Object state
)
That means you can't create a TimerCallback
directly from the test
method. The simplest thing to do is to change the signature of your test
method:
public static void test(Object state)
Or you could use a lambda expression in your constructor call:
Timer x = new Timer(state => test(), null, 0, 1000);
Note that to follow .NET naming conventions, your method name should start with a capital letter, e.g. Test
rather than test
.
TimerCallback
delegate (first argument of the Timer
constructor you use) takes one argument (state) of type object
.
All you have to do it to add parameter to the test
method
public static void test(object state)
{
Console.WriteLine("test");
}
And the issue will be resolved.
write the test method as follows to resolve the exception:
public static void test(object state)
{
Console.WriteLine("test");
}