请教MethodInvoker问题

wufongming 2008-05-06 11:43:55
// 打开进程条窗体
//IncreasePrc是一个接口,有一个Increase方法

private void ShowProcessBar(IncreasePrc IForm)
{
myIncrease = new IncreaseHandle( IForm.Increase );
(IForm as Form).ShowDialog();
}

private void ThreadFun(IncreasePrc IForm)
{
MethodInvoker mi = new MethodInvoker(ShowProcessBar(IForm));//这句出错,方法名称异常 , 怎么解决啊,是不是不能这样
this.BeginInvoke( mi );
Thread.Sleep( 1000 );//Sleep a while to show window
bool blnIncreased = false;
object objReturn = null;
do
{
Thread.Sleep( 50 );
objReturn = this.Invoke( this.myIncrease,new object[]{ 2 } );
blnIncreased = (bool)objReturn ;
}
while( blnIncreased );
}
...全文
812 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
a20076113 2011-10-17
  • 打赏
  • 举报
回复
多线程,同步调用?
wumingguoguo 2010-05-24
  • 打赏
  • 举报
回复
我也有这个问题,MethodInvoker线程间调用不能带返回值,请问是怎么解决的?谢谢。。。
t88266236 2008-05-06
  • 打赏
  • 举报
回复
MSDN:MethodInvoker表示一个委托,该委托可执行托管代码中声明为 void 且不接受任何参数的任何方法。
顶楼上
ProjectDD 2008-05-06
  • 打赏
  • 举报
回复
MethodInvoker是一个没有任务参数的委托,象下面这样用.

MethodInvoker mi=this.TestM1;

void TestM1(){//...}
wufongming 2008-05-06
  • 打赏
  • 举报
回复
是不能接受参数是吧,只有自己改下了.thks

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧