C#: Can't I use an anonymous delegate in ThreadStart?

c#, multithreading

Solution

What error do you get? Missing semicolon? This compiles for me.

    static void go()
    {
        Console.WriteLine("Nice Work");
    }

    public void Run()
    {
        ThreadStart starter1 = delegate() { go(); };

        ThreadStart starter2 = delegate() { Console.WriteLine("Hello");};

        ThreadStart starter3 = () =>  Console.WriteLine("Hello");

    }

Problem

Can't I have an anonymous delegate declaration, something similar to the following: ``` ThreadStart starter = delegate() { go(); }; ... static void go() { Console.WriteLine("Nice Work"); } // (or) ThreadStart starter=delegate() { Console.WriteLine("Hello");} ```

Original source