使用 "out" 个参数从 dll 调用方法时出现语法错误
Syntax Error when invoking method from dll using "out" arguments
我正在尝试从代码中获取的 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 前缀时,方法本身被正确调用,并且根据我所做的测试,激活器被正确分配
这是怎么回事?
原因
string errorMessage;
someMethod.Invoke(activator, new object[] {out errorMessage});
不会编译是双重的。
out
必须针对参数指定,而不是针对恰好用于 初始化 参数的变量。
Invoke
方法不带out参数。
This 可以用来解决您的问题,而不是尝试使用 out
.
我正在尝试从代码中获取的 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 前缀时,方法本身被正确调用,并且根据我所做的测试,激活器被正确分配
这是怎么回事?
原因
string errorMessage;
someMethod.Invoke(activator, new object[] {out errorMessage});
不会编译是双重的。
out
必须针对参数指定,而不是针对恰好用于 初始化 参数的变量。Invoke
方法不带out参数。
This 可以用来解决您的问题,而不是尝试使用 out
.