C# 如何在C语言中将变量参数传递给内部方法#
我在python中有一个函数,它使用一个函数和args(tuple)作为其内部函数的输入:我可以使用params和Action InnedMethod()复制这些函数。但是,在这里如何将输入变量(参数)包装到InnerMethod?我怎样才能做到这一点 蟒蛇C# 如何在C语言中将变量参数传递给内部方法#,c#,python,python-2.7,params,args,C#,Python,Python 2.7,Params,Args,我在python中有一个函数,它使用一个函数和args(tuple)作为其内部函数的输入:我可以使用params和Action InnedMethod()复制这些函数。但是,在这里如何将输入变量(参数)包装到InnerMethod?我怎样才能做到这一点 蟒蛇 def wrap_function(function, args): ncalls = [0] if function is None: return ncalls, None def func
def wrap_function(function, args):
ncalls = [0]
if function is None:
return ncalls, None
def function_wrapper(*wrapper_args):
ncalls[0] += 1
return function(*(wrapper_args + args))
return ncalls, function_wrapper
CSHARP:我正在尝试复制上面的Python函数
private double ObjectiveFunctionWrapper(IFunction f, Tuple<List<double>, List<double>> args)
{
int ncalls = 0;
Action function_wrapper = () =>
{
ncalls = ncalls + 1;
f(params )
};
function_wrapper();
return ncalls;
}
private double ObjectiveFunctionWrapper(IFunction f,元组参数)
{
int-ncalls=0;
动作函数_包装器=()=>
{
ncalls=ncalls+1;
f(参数)
};
函数_wrapper();
返回NCALL;
}
要将参数[]
数组传递给函数参数,请使用操作
参数定义方法(而不是IFunction
),并使用以下代码位:
public Action<T> SetParameters(Action<object[]> action, params object[] parameters)
{
return delegate { action(parameters) };
}
public Action SetParameters(Action-Action,params-object[]参数)
{
返回委托{action(parameters)};
}