Я все еще новичок в C #и особенно в многопоточности в C #. Я пытаюсь запустить функцию, для которой требуется однопоточная квартира (. STAThread)
Но я не могу скомпилировать следующий код:
Функция выглядит следующим образом в отдельном классе с именемMyClass
:
internal static string DoX(string n, string p)
{
// does some work here that requires STAThread
}
Я попробовал атрибут [STAThread] поверх функции, но это не работает.
Итак, я пытаюсь создать новый поток следующим образом:
Thread t = new Thread(new ThreadStart(MyClass.DoX));
но это не будет компилироваться (Лучший перегруженный метод имеет недопустимые аргументы ошибка ). Однако пример онлайн очень похож(пример здесь) Что я делаю неправильно и как я могу просто запустить функцию в новом потоке STA?
Спасибо