Перегружаемый метод и класс Потоков

Рейтинг: 0Ответов: 1Опубликовано: 19.12.2014

Господа, возникла небольшая синтаксическая трудность. Есть 2 перегружаемых метода

public void A() { }
public void A(object o) { }

Как известно, объект класса Thread принимает сигнатуру любого из этих методов. Однако как именно указать, какой метод я пытаюсь передать в объект класса Thread. Ведь при указании метода используется только его имя без скобок, и это приводит к неоднозначности. Как быть в такой ситуации?

Ответы

▲ 1Принят

Юзайте ParameterizedThreadStart или ThreadStart и читайте сообщения компилятора.

var thread1 = new Thread(new ThreadStart(A));
var thread2 = new Thread(new ParameterizedThreadStart(A));
thread1.Start();  // first
thread2.Start();  // second

public static void A()
{
    Console.WriteLine("first");
}

public static void A(object o)
{
    Console.WriteLine("second");
}