方法组你打算调用方法吗?

时间:2010-10-13 18:17:15

标签: c#

我收到以下代码的错误,询问我是否要调用此方法:

 protected void CheckForLocalPickPlace(JobList jobs)
    {
        if (CachedAnonymousMethodDelegate1 == null)
        {
            CachedAnonymousMethodDelegate1 = new Predicate<JobClass>(null, (IntPtr) CheckForLocalPickPlace);
        }
        this.localPickPlace = jobs.TrueForAll(CachedAnonymousMethodDelegate1);
    }

4 个答案:

答案 0 :(得分:3)

我认为问题在于您尝试构建委托的方式,尽管您没有在类型方面指定太多。

您无法从Predicate<JobClass>构建CheckForLocalPickPlace因为签名错误,但如果您可以,您可以这样做:

CachedAnonymousMethodDelegate1 = CheckForLocalPickPlace;

CachedAnonymousMethodDelegate1 = new Predicate<JobClass>(CheckForLocalPickPlace);

如果您可以为我们提供更多背景信息,我们可以尝试为您提供更多帮助。

答案 1 :(得分:2)

this.ClearJobs这是一个功能吗?如果是,那应该是this.ClearJobs()

答案 2 :(得分:1)

与某些语言(例如Delphi)不同,C#要求将括号放在方法之后调用它。

IIRC,这来自C语言的定义,其中()运算符来调用函数。

答案 3 :(得分:0)

此表达式无效:

new Predicate<JobClass>(null, (IntPtr) CheckForLocalPickPlace)

如果CheckForLocalPickPlace是一种方法,那么你可能想把它放在:

new Predicate<JobClass>(CheckForLocalPickPlace)

如果不是某种方法,请更详细地描述您要做的事情。