make_public pragma

Wskazuje, że typ natywny powinien mieć ułatwienia dostępu do zestawu publicznego.

Składnia

#pragma make_public(type)

Parametry

type
Nazwa typu, który ma mieć ułatwienia dostępu do zestawu publicznego.

Uwagi

make_public jest przydatna w przypadku, gdy typ natywny, do którego chcesz się odwołać, pochodzi z pliku nagłówka, którego nie można zmienić. Jeśli chcesz użyć typu natywnego w podpisie funkcji publicznej w typie z widocznością zestawu publicznego, typ natywny musi mieć również ułatwienia dostępu do zestawu publicznego lub kompilator wyświetli ostrzeżenie.

make_public musi być określony w zakresie globalnym. Jest ona obowiązuje tylko od momentu, w którym jest zadeklarowany na końcu pliku kodu źródłowego.

Typ natywny może być niejawnie lub jawnie prywatny. Aby uzyskać więcej informacji, zobacz Widoczność typu.

Przykłady

Poniższy przykład to zawartość pliku nagłówka zawierającego definicje dwóch natywnych struktur.

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

Poniższy przykładowy kod używa pliku nagłówka. Pokazuje, że jeśli nie oznaczysz jawnie natywnych struktur jako publiczne za pomocą polecenia make_public, kompilator wygeneruje ostrzeżenie podczas próby użycia natywnych struktur w podpisie funkcji publicznej w publicznym typie zarządzanym.

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

Zobacz też

Dyrektywy Pragma i __pragma słowa kluczowe i _Pragma