Ответ 1
Причиной ограничения является то, что ThreadStart
не является общим делегатом и, следовательно, он способен передавать object
. Это достаточно просто, чтобы работать, но используя лямбда, где вы прямо передаете значение.
public static void Main(string[] args) {
ThreadStart start = () => {
DisplayYOrX("X");
};
Thread t = new Thread(start);
t.Start();
...
}
static void DisplayYOrX(string outValue) {
...
}
Версия для С# 2.0
public static void Main(string[] args) {
ThreadStart start = delegate {
DisplayYOrX("X");
};
Thread t = new Thread(start);
t.Start();
...
}