我收到以下代码的错误,询问我是否要调用此方法:
protected void CheckForLocalPickPlace(JobList jobs)
{
if (CachedAnonymousMethodDelegate1 == null)
{
CachedAnonymousMethodDelegate1 = new Predicate<JobClass>(null, (IntPtr) CheckForLocalPickPlace);
}
this.localPickPlace = jobs.TrueForAll(CachedAnonymousMethodDelegate1);
}
答案 0 :(得分:3)
我认为问题在于您尝试构建委托的方式,尽管您没有在类型方面指定太多。
您无法从Predicate<JobClass>
构建CheckForLocalPickPlace
因为签名错误,但如果您可以,您可以这样做:
CachedAnonymousMethodDelegate1 = CheckForLocalPickPlace;
或
CachedAnonymousMethodDelegate1 = new Predicate<JobClass>(CheckForLocalPickPlace);
如果您可以为我们提供更多背景信息,我们可以尝试为您提供更多帮助。
答案 1 :(得分:2)
this.ClearJobs这是一个功能吗?如果是,那应该是this.ClearJobs()
答案 2 :(得分:1)
与某些语言(例如Delphi)不同,C#要求将括号放在方法之后调用它。
()
是运算符来调用函数。
答案 3 :(得分:0)
此表达式无效:
new Predicate<JobClass>(null, (IntPtr) CheckForLocalPickPlace)
如果CheckForLocalPickPlace
是一种方法,那么你可能想把它放在:
new Predicate<JobClass>(CheckForLocalPickPlace)
如果不是某种方法,请更详细地描述您要做的事情。