使用 "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});  

不会编译是双重的。

  1. out 必须针对参数指定,而不是针对恰好用于 初始化 参数的变量。
  2. Invoke方法不带out参数。

This 可以用来解决您的问题,而不是尝试使用 out.