我正在尝试从代码中提取的dll调用方法 要调用的外来方法:
private bool someMethod(out string errMsg)
{
//Error message is assigned
//Some more code
return aBoolean;
}
当我使用以下代码调用方法时:
string errorMessage;
someMethod.Invoke(activator, new object[] {out errorMessage});
“out errorMessage”出现以下错误:
语法错误,','预期 - ','或'}'预期
当忽略out前缀时,方法本身被正确调用,并且根据我所做的测试正确分配了激活器
这里发生了什么?
答案 0 :(得分:1)
原因
string errorMessage;
someMethod.Invoke(activator, new object[] {out errorMessage});
不会编译是双重的。
out
,而不是针对恰好用于初始化参数的变量。Invoke
方法不带参数。 This可用于解决您的问题,而不是尝试使用out
。