Запуск STAThread в C#

Я все еще новичок в 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?

Спасибо

21
задан Daniel A. White 7 August 2014 в 12:53
поделиться