是否有可能在C#中接受一个params参数,然后将其作为params列表传递给另一个函数?如上所述,如果我没有弄错的话,下面的函数将args作为一个类型数组的单个参数传递object.这里的目标是不言而喻的.
//ScriptEngine
public object[] Call(string fnName, params object[] args)
{
try{
return lua.GetFunction(fnName).Call(args);
}
catch (Exception ex)
{
Util.Log(LogManager.LogLevel.Error, "Call to Lua failed: "+ex.Message);
}
return null;
}
Run Code Online (Sandbox Code Playgroud)
这lua.GetFunction(fnName).Call(args);是对我的代码之外的调用,它接受param object[].
如果Call您所呼叫的方法的签名接受了,params object[] args那么您就错了.它不考虑argsthpe的单个对象,而是object包含在另一个数组中.它认为它是整个参数列表,这是你想要的.它会完全正常工作.
| 归档时间: |
|
| 查看次数: |
402 次 |
| 最近记录: |