Практическое руководство. Определение выходного параметра

В этом примере описывается порядок определения выходного параметра функции и вызова такой функции в программе C#.

В Visual C++ выходной параметр определяется с помощью атрибута OutAttribute.

Пример

В первой части примера представлена библиотека DLL Visual C++, в которой определяется тип, содержащий функцию с выходным параметром.

// 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);
   }
}
  

См. также

Ссылки

Использование взаимодействия языка C++ (неявный PInvoke)