这是我得到的错误:
System.Windows.Forms.dll 中出现“System.Threading.ThreadStateException”类型的异常,但未在用户代码中处理
附加信息:在进行 OLE 调用之前,必须将当前线程设置为单线程单元 (STA) 模式。确保您的 Main 函数上标记了 STAThreadAttribute。
我正在尝试为Task
. 当我执行代码时,我得到了上面的错误。
这是剪贴板代码:
static public class ClipBoard
{
static private string _data = string.Empty;
static public Semaphore ClipBoardSemaphore = new Semaphore(1, 1);
static public void SetData(string data)
{
Clipboard.Clear(); //error here
Clipboard.SetDataObject(data, true);
_data = data;
}
static public string GetData()
{
return _data;
}
}
如您所见,清除剪贴板时会发生错误。这是调用任务的代码:
for (int i = 0; i < zom.Count; i++)
{
Task t = Task.Factory.StartNew(zom[i].Process);
t.Wait();
}