Cómo: Especificar un parámetro out

Actualización: noviembre 2007

En este ejemplo se muestra la forma de especificar que el parámetro de una función es un parámetro out y la forma de llamar a dicha función desde un programa de C#.

Para especificar un parámetro out en Visual C++ se utiliza OutAttribute.

Ejemplo

La primera parte de este ejemplo es un archivo DLL de Visual C++ con un tipo que contiene una función con un parámetro out.

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

Éste es un cliente de C# que utiliza el componente de Visual C++ creado en el ejemplo anterior.

// 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

Vea también

Referencia

Utilizar la interoperabilidad de C++ (PInvoke implícito)