【问题标题】:method group did you intend to invoke method?方法组 你打算调用方法吗?
【发布时间】:2010-10-13 18:17:14
【问题描述】:

以下代码出现错误,询问我是否要调用此方法:

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

【问题讨论】:

  • 你能告诉我们你到底想做什么吗?这很不清楚。我们可以尝试描述为什么它无法编译,但这可能不会让您在解决实际问题方面走得太远。
  • 您使用哪种文本编辑器?您尝试使用的构造函数通常被 IntelliSense 引擎隐藏,因为它只能由抖动使用。你的编辑给你找麻烦了。

标签: c#


【解决方案1】:

我认为问题在于您尝试构建委托的方式,尽管您没有详细说明类型的方式。

你不能从CheckForLocalPickPlace 构建一个Predicate&lt;JobClass&gt;,因为签名是错误的,但是如果你可以你可以这样做:

CachedAnonymousMethodDelegate1 = CheckForLocalPickPlace;

CachedAnonymousMethodDelegate1 = new Predicate<JobClass>(CheckForLocalPickPlace);

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

【讨论】:

    【解决方案2】:

    this.ClearJobs 那是一个函数吗?如果是,应该是this.ClearJobs()

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        【解决方案4】:

        这个表达式无效:

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

        如果CheckForLocalPickPlace 是一种方法,那么您可能打算这样写:

        new Predicate<JobClass>(CheckForLocalPickPlace)
        

        如果它不是一种方法,请更详细地描述你正在尝试做什么。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-04-22
          • 2018-11-08
          • 2016-08-13
          相关资源
          最近更新 更多