If I have:
ThreadStart starter = delegate { MessageBox.Show("Test"); };
new Thread(starter).Start();
How can I combine this into one line of code? I've tried:
new Thread(delegate { MessageBox.Show("Test"); }).Start();
But I get this error:
The call is ambiguous between the following methods or properties: 'System.Threading.Thread.Thread(System.Threading.ThreadStart)' and 'System.Threading.Thread.Thread(System.Threading.ParameterizedThreadStart)'
new Thread(() => MessageBox.Show("Test")).Start();
or
new Thread((ThreadStart)delegate { MessageBox.Show("Test"); }).Start();
or
new Thread(delegate() { MessageBox.Show("Test"); }).Start();
The problem is when you declared a delegate without specifying how many parameters it had, the compiler didn't know whether you meant ThreadStart(0 parameters) or ParameterizedThreadStart(1 parameter).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With