Compartir por


make_public pragma

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

Sintaxis

#pragma make_public(tipo )

Parámetros

type
El nombre del tipo que desea que tenga accesibilidad pública de ensamblado.

Comentarios

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

make_public debe especificarse en el ámbito global. Solo tiene efecto desde el 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 privado. Para más información, consulte Visibilidad de tipos.

Ejemplos

La muestra siguiente es el contenido de un archivo de encabezado que contiene las definiciones para dos estructuras nativas.

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

El ejemplo de código siguiente consume el archivo de encabezado. Indica que, a menos que marque explícitamente las estructuras nativas como públicos mediante make_public, el compilador generará una advertencia cuando intente usar las estructuras nativas en la signatura 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
};

Consulte también

Pragmadirectivas y las __pragma palabras clave y _Pragma