Share via


make_public

Indica que un tipo nativo debe tener accesibilidad pública del ensamblado.

#pragma make_public(type)

Parámetros

type es el nombre del tipo que desea tener accesibilidad pública del ensamblado.

Comentarios

make_public es útil para cuando el nativo que se desea hacer referencia es de un archivo .h que no puede cambiar.Si desea utilizar el tipo nativo en la firma de una función pública en un tipo con visibilidad pública del ensamblado, el tipo nativo también debe tener accesibilidad pública del ensamblado o el compilador emitirá una advertencia.

make_public debe especificarse en el ámbito global y sólo en efecto de punto en el que se declara hasta el final del archivo de código fuente.

El tipo nativo puede ser implícita o explícitamente private; vea Visibilidad de tipo para obtener más información.

Ejemplo

El ejemplo siguiente es el contenido de un archivo .h que contiene las definiciones para dos structs nativos.

// make_public_pragma.h
struct Native_Struct_1 { int i; };
struct Native_Struct_2 { int i; };

El ejemplo de código siguiente utiliza el archivo de encabezado e indica que a menos que explícitamente marque los structs nativos como public, mediante make_public, el compilador muestra una advertencia cuando intenta utilizar los structs nativos en la firma de la función pública en un tipo administrado público.

// make_public_pragma.cpp
// compile with: /c /clr /W1
#pragma warning (default : 4692)
#include "make_public_pragma.h"
#pragma make_public(Native_Struct_1)

public ref struct A {
   void Test(Native_Struct_1 u) {u.i = 0;}   // OK
   void Test(Native_Struct_2 u) {u.i = 0;}   // C4692
};

Vea también

Referencia

Directivas de pragma y la palabra clave de __Pragma