make_public

 

Para obtener la documentación más reciente de Visual Studio 2017 RC, consulte Documentación de Visual Studio 2017 RC.

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

#pragma make_public(type)  

Parámetros

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

make_public es útil cuando el tipo nativo al que se desea hacer referencia es de un archivo .h que no se puede cambiar. Si desea usar el tipo nativo en 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 y 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; vea Visibilidad de tipos para obtener más información.

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 marque explícitamente los structs nativos como públicos usando make_public, el compilador generará una advertencia cuando intente usar los structs nativos 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  
};  

Directives pragma y la palabra clave __pragma

Mostrar: