语法使用“out”参数从dll调用方法时出错

时间:2017-07-18 13:45:44

标签: c# dll syntax-error invoke 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前缀时,方法本身被正确调用,并且根据我所做的测试正确分配了激活器

这里发生了什么?

1 个答案:

答案 0 :(得分:1)

原因

string errorMessage;  
someMethod.Invoke(activator, new object[] {out errorMessage});  

不会编译是双重的。

    必须针对参数指定
  1. out,而不是针对恰好用于初始化参数的变量。
  2. Invoke方法不带参数。
  3. This可用于解决您的问题,而不是尝试使用out