日期:2014-05-20  浏览次数:21075 次

c# BeginInvoke 出错
之前一直都是以这种方式处理跨线程更新UI的。但是今天我在新建的线程中要用BeginInvoke来处理UI线程中的更新时,却总是报错。代码如下:
  BeginInvoke(new Action(() =>
  {
  FolderSmallView(_folderList);
  FileSmallView(_currentPlayLessonList);
  })); 
执行的FolderSmallView(_folderList);和FileSmallView(_currentPlayLessonList);就是需要更新UI。

错误:
使用泛型 类型" System.Action<T>" 需要"1"个类型实参。
请高手指点,谢谢。

------解决方案--------------------
参数定义不正确
------解决方案--------------------
没必要用 new Action( ... ) 呀。直接

BeginInvoke(() =>
{
FolderSmallView(_folderList);
FileSmallView(_currentPlayLessonList);
});
------解决方案--------------------
Action action = () =>
{
FolderSmallView(_folderList); 
FileSmallView(_currentPlayLessonList);
};

BeginInvoke(action);
------解决方案--------------------
begininvoke 需要外部传递参数,或者有设置参数的函数