次の方法で共有


方法: out パラメーターを指定する

このサンプルでは、関数のパラメーターが out パラメーターであることを指定する方法と、その関数を C# プログラムから呼び出す方法を示します。

C++ では、out パラメーターは OutAttribute を使って指定します。

このサンプルの最初の部分では、C++ DLL が作成されます。 そこでは、out パラメーターを持つ関数を含む型が定義されています。

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

このソース ファイルは、前の例で作成した C++ コンポーネントを使用する 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) の使用