有人知道之
间的区别吗
dispatcher.BeginInvoke(dispatcherPriority.Background,new ThreadStart(() =>
{
和
dispatcher.BeginInvoke(dispatcherPriority.Background,new Action(() =>
{
应该没有区别. ThreadStart和Action定义为
public delegate void ThreadStart();
public delegate void Action();
即委托没有参数,没有返回值.所以他们在语义上是一样的.
然而,我会使用Action而不是ThreadStart,因为ThreadStart与Thread构造函数强烈关联,因此与ThreadStart的代码可以提示直接创建线程,因此会略有误导.