Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用“从dll调用方法时出现语法错误”;“出去”;论据_C#_Dll_Syntax Error_Invoke_Out - Fatal编程技术网

C# 使用“从dll调用方法时出现语法错误”;“出去”;论据

C# 使用“从dll调用方法时出现语法错误”;“出去”;论据,c#,dll,syntax-error,invoke,out,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

我试图从代码中获取的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参数

  • 可以用来解决您的问题,而不是试图使用
    out

    目标框架是4.0。我试了4.5,没有骰子。