gpt4 book ai didi

c# - 无参数方法签名与参数委托(delegate)不匹配

转载 作者:行者123 更新时间:2023-12-02 10:46:59 24 4
gpt4 key购买 nike

为什么不:

delegate void MyDelegate(params object[] parameters);
static void ShouldMatch() {}
MyDelegate compilerError = ShouldMatch;

编译?看起来它应该匹配得很好。

最佳答案

委托(delegate),MyDelegate定义了一个接受对象数组的方法,但是你的 ShouldMatch方法没有。假设您尝试将任何参数传递给您的委托(delegate)实例,如下所示:

compilerError(someObject, someOtherObject);

如果方法 compilerError必然不接受任何参数,你希望这里发生什么?

尝试以与委托(delegate)签名匹配的方式定义您的方法:
delegate void MyDelegate(params object[] parameters);
static void ShouldMatch(params object[] parameters) {}

MyDelegate noCompilerError = ShouldMatch;

或者您可以尝试将其包装在 lambda 表达式中,如下所示:
delegate void MyDelegate(params object[] parameters);
static void ShouldMatch() {}

MyDelegate noCompilerError = (paramArray) => ShouldMatch();

关于c# - 无参数方法签名与参数委托(delegate)不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19530777/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com