开线程时怎么传参数呢?

jshzp 2011-04-22 06:53:53
开线程时,执行的方法需要传入参数,编译报错:“与class1.method(int)最匹配的重载方法具有一些无效参数。”代码如下:

private void Form1_Load(object sender, EventArgs e)
{
Class1 aa = new Class1();
int j=0;
Thread thr = new Thread(aa.method(j));


class Class1
{
public void method(int i)
{
i=1;
}
}

我试过,如果method改成不带参数的,就可以通过。为什么呢?望高手指点,谢谢!
...全文
138 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
jshzp 2011-04-22
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 fangxinggood 的回复:]
Thread thread = new Thread(aa.method) 这样就OK了。手打的,呵呵。sorry
[/Quote]
终于行了,太感谢你了!周末都不出去潇洒下吗?呵呵...
机器人 2011-04-22
  • 打赏
  • 举报
回复
Thread thread = new Thread(aa.method) 这样就OK了。手打的,呵呵。sorry
jshzp 2011-04-22
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 fangxinggood 的回复:]
private void Form1_Load(object sender, EventArgs e)
{
Class1 aa = new Class1();
int j=0;
Thread thr = new ParameterThread(aa.method);
thr.Start(j);


class Class1
{
public……
[/Quote]
你的ParameterThread是什么?缺少引用?
机器人 2011-04-22
  • 打赏
  • 举报
回复
参数只能定义为 object 类型的。还特意标红了~

public void method(object i)
{
int j = (int)i;
}
jshzp 2011-04-22
  • 打赏
  • 举报
回复
private void Form1_Load(object sender, EventArgs e)
{
Class1 aa = new Class1();
int j=0;
Thread thr = new Thread(new ParameterizedThreadStart(aa .method );
thr .Start (int i);
}

我改成了这样,但是仍然报错:method的重载均与委托ParameterizedThreadStart不匹配。
清高手帮我看一下,咋写?谢谢!
孟子E章 2011-04-22
  • 打赏
  • 举报
回复
参见
http://dotnet.aspx.cc/file/Passing-HttpContext-Request-Parameter-Into-Thread.aspx
机器人 2011-04-22
  • 打赏
  • 举报
回复
private void Form1_Load(object sender, EventArgs e)
{
Class1 aa = new Class1();
int j=0;
Thread thr = new ParameterThread(aa.method);
thr.Start(j);


class Class1
{
public void method(object i)
{
// ...
}
}
jshzp 2011-04-22
  • 打赏
  • 举报
回复
尝试了几种写法,都不行啊
jshzp 2011-04-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 icedmilk 的回复:]
参数是在调用Start的时候传递的
你在new一个Thread的时候传递的是delegate
[/Quote]
嗯,明白点儿了,应该怎么修改上面的代码呢?
Icedmilk 2011-04-22
  • 打赏
  • 举报
回复
参数是在调用Start的时候传递的
你在new一个Thread的时候传递的是delegate

111,120

社区成员

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

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

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