[英]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 []的参数),我该如何解决?
您的问题可能是其中之一:
如果您只是想将params1
传递给Foo
,请从Foo
的声明中删除params
一词:
public static int Foo(Func<int [], int> myMethodName) { return 1; }
如果您希望Foo
能够像这样调用myMethodName
:
myMethodName(1, 2, 3);
然后,您需要一个自定义委托:
public delegate int CustomDelegate(params int[] parameters);
如果只允许将接受params
参数的方法传递给Foo
,就我所知,没有办法做到这一点。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.