Reputation: 9377
Using the code below, the timer only fires once. What am I missing?
public static List<string> Test = new List<string> { "TEST1", "TEST2" };
public static void Start()
{
var t = new System.Threading.Timer(o =>
{
foreach (var item in Test)
{
Console.WriteLine("Say hello!");
}
}, null, 0, 1250);
}
Upvotes: 8
Views: 2832
Reputation: 887195
The timer is being collected by the GC before it fires again.
You need to keep it alive by storing it in a field.
Upvotes: 20