如何:指定 out 参数

更新:2007 年 11 月

此示例演示如何将函数参数指定为 out 参数,以及如何从 C# 程序中调用该函数。

在 Visual C++ 中使用 OutAttribute 指定输出参数。

示例

此示例的第一部分是一个 Visual C++ DLL,其类型包含一个具有输出参数的函数。

// cpp_out_param.cpp
// compile with: /LD /clr:safe
using namespace System;
public value struct TestStruct {
   static void Test([Runtime::InteropServices::Out] String^ %s) {
      s = "a string";
   }
};

这是一个 C# 客户端,它将使用前面示例中创建的 Visual C++ 组件。

// cpp_out_param_2.cs
// compile with: /reference:cpp_out_param.dll
using System;
class TestClass {
   public static void Main() {
      String t;
      TestStruct.Test(out t);
      System.Console.WriteLine(t);
   }
}

a string

请参见

参考

使用 C++ Interop(隐式 PInvoke)