繁体   English   中英

以参数类型为参数的函数类型

[英]Type of function which getting params type as parameter

--Edited--

我写了以下函数-

 public static int params1(params int [] x) {
        return 1;
    }

我想将此函数作为这样的参数传递给另一个函数,但这是编译错误-

    public static int Foo(Func<params int [], int> myMethodName) {
           return 1; 
}

我应该如何将此函数传递给Foo函数?


实际上,我应该用更多细节描述我的问题-

我做了你写给我的东西,但是我注意到,如果我将参数定义为params,那么我在不带此参数的情况下调用函数就没有问题。

这是新代码-

 public static int params1(params int [] x) {
    return 1;
}

        public static int Foo(Func<int [], int> myMethodName) {
           return myMethodName(); 
}

在此代码中有编译错误(因为它必须获取其类型为int []的参数),我该如何解决?

您的问题可能是其中之一:

  1. 如果您只是想将params1传递给Foo ,请从Foo的声明中删除params一词:

     public static int Foo(Func<int [], int> myMethodName) { return 1; } 
  2. 如果您希望Foo能够像这样调用myMethodName

     myMethodName(1, 2, 3); 

    然后,您需要一个自定义委托:

     public delegate int CustomDelegate(params int[] parameters); 
  3. 如果只允许将接受params参数的方法传递给Foo ,就我所知,没有办法做到这一点。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM