c# – 不能使用非静态方法的线程
我试图从一个线程调用一个名为UpdateResults()的非静态方法.这是我的代码:
class Live { Thread scheduler = new Thread(UpdateResults); public Live() { scheduler.Start(); } public void UpdateResults() { //do some stuff } } 但我得到这个错误:
我怎样才能解决这个问题? 解决方法
这与Thread无关.有关为何发生这种情况的详细信息,请参阅
this问题.
要解决您的问题,请按以下方式更改您的课程: class Live { Thread scheduler; public Live() { scheduler = new Thread(UpdateResults); scheduler.Start(); } public void UpdateResults() { //do some stuff } } 正如Jon Skeet在上述问题中提到的,从C#4规范的10.5.5.2节:
当您编写新的Thread(UpdateResults)时,您实际上正在编写新的Thread(this.UpdateResults). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |