在C#中怎样对一个自己写的方法进行对象引用

clientservice=newThread(newThreadStart(ServiceClient));我的ServiceClient是自己定义的一个非静态的方法,... clientservice = new Thread(new ThreadStart(ServiceClient));
我的ServiceClient是自己定义的一个非静态的方法,必须是非静态的,于是就出现了非静态的方法要求对象引用的错误,怎么能解决呀,急急急!!!
展开
 我来答
sniper2003
2012-01-05 · TA获得超过1882个赞
知道小有建树答主
回答量:775
采纳率:100%
帮助的人:655万
展开全部
new ThreadStart(参数...)
这里面接收的参数是一个委托的重载,这个委托被定义为只能接收如下格式的方法签名:
void 方法名();
或void 方法名(object parameter)

所以你要将ServiceClient的签名同上面的方法签名完全相同才可以。可以用下面方式来实现你的需求:
声明一个类,在类中声明一个方法;
public void Run(){
//你要执行的代码
}
或者 再多一个重载
public void Run(object para){
//你要执行的代码
}
然后在你要使用线程的地方这样调用
clientservice = new Thread(new ThreadStart(new 你新声明的类名().Run));
TableDI
2024-07-18 广告
在上海悉息信息科技有限公司,我们深知Excel在数据处理中的重要作用。在Excel中引用不同工作表(sheet)的数据是常见的操作,这有助于整合和分析跨多个工作表的信息。通过在工作表名称前加上感叹号“!”,您可以轻松地引用其他工作表中的数据... 点击进入详情页
本回答由TableDI提供
百度网友d242235
推荐于2018-04-09 · TA获得超过2385个赞
知道大有可为答主
回答量:1403
采纳率:84%
帮助的人:807万
展开全部
lz基础知识有待提高。
C#函数分为静态与实例两种,静态方法属于类本身,实例方法属于类的实例,必须要实例化才能使用。例如:
class A
{
public void Method1()
{
//some code
}

public static void Method2()
{
//some code
}
}
调用时候要这样:
A.Mehtod2(); //调用静态方法
A a = new A();
a.Method1();//调用实例方法
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
djy19876
2012-01-05
知道答主
回答量:13
采纳率:0%
帮助的人:6万
展开全部
写成clientservice = new Thread(new ThreadStart(new ServiceClient));
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式