这不起作用:
Debug.Assert(Thread.CurrentThread.Name == "Main Thread"); //doesn't work
//name is null despite name
//in debugger being "Main Thread"
这确实有效:
Debug.Assert(Thread.CurrentThread.ManagedThreadId == 1);
但我只是想知道:
- a)
ManagedThreadId
保证是1
用于主线程的吗? - b) 有更好的方法吗?通过属性将是我提供的最整洁的。
我正在做一个 Silverlight 项目,我没有标记,因为我不知道它是否相关,但是如果您相信 Silverlight 和其他 .net 运行时之间存在差异,请发表评论。