C # - Как мне передать делегат в другой метод?
-
12-09-2019 - |
Вопрос
Я пишу класс для управления моей потоковой обработкой.Как мне передать мой метод, который нуждается в обработке потоков, в мой вспомогательный класс?
Все, что я буду делать, это создавать новый поток и передавать метод, через который я прошел, в новый ThreadStart().
Заранее благодарю.
Решение
Вместо того чтобы писать свой собственный класс для управления потоками, я предлагаю вам ознакомиться с Фоновый работник класс в .NET 2.0 и более поздних версиях.
Другие советы
Я не уверен, что вы имеете в виду, говоря "проходящий" void
но это должно помочь:
void StartThread(ThreadStart method) {
new Thread(method).Start();
}
и назовите это с помощью:
StartThread(myMethod);
Вы можете передать метод или функцию в качестве делегата в .NET
public static void Iteration(Happy ending) {
Thread t = new Thread(new ThreadStart(ending));
t.Start();
}
public delegate void Happy();
внутри вашего основного:
Iteration(() => Console.WriteLine("Hello World"));
Не связан с StackOverflow