public class Logic { public void Call(object param) { Console.WriteLine("Call made using {0}", param); } public void Call(object param1, object param2) { Console.WriteLine("Call made using {0} & {1}", param1, param2); } }
//We can only call the version of Call of Logic; which takes a single parameterParameterizedThreadStart starter = new ParameterizedThreadStart(new Logic().Call);new Thread(starter).Start("foo");
//Put the block of code to be executed as parameter to ThreadStart delegateThreadStart starter2 = delegate { new Logic().Call("foo", "bar"); };new Thread(starter2).Start();