Ody*_*dys 8 c# com multithreading watin sta
在Watin的源代码中,有这段代码:
public void NavigateToNoWait(Uri url)
{
var thread = new Thread(GoToNoWaitInternal);
thread.SetApartmentState(ApartmentState.STA);
thread.Start(url);
thread.Join(500);
}
[STAThread]
private void GoToNoWaitInternal(object uriIn)
{
var uri = (Uri)uriIn;
NavigateTo(uri);
}
Run Code Online (Sandbox Code Playgroud)
由于创建的线程设置了其单元状态,为什么该[STAThread]属性被添加到方法中?我对特定的代码段不感兴趣,但我想知道是否STAThread需要属性.
笔记:
GoToNoWaitInternal不在别处使用.只需阅读STAThreadAttribute(强调我的)文档:
将此属性应用于入口点方法(
Main()C#和Visual Basic中的方法).它对其他方法没有影响.要设置从代码开始的线程的单元状态,请Thread.SetApartmentState在启动线程之前使用该方法.
因此,在这种情况下,该属性应该没有效果.
| 归档时间: |
|
| 查看次数: |
7085 次 |
| 最近记录: |