Udostępnij za pośrednictwem


make_public

Wskazuje, że typ macierzysty powinien mieć publicznego zestawu ułatwień dostępu.

#pragma make_public(type)

Parametry

typejest nazwą typu ma być publiczne zestawu ułatwień dostępu.

Uwagi

make_publicjest użyteczne w przypadku gdy jest typu macierzystego, który chcesz odwołać się od pliku .h, że nie można zmienić.Jeśli chcesz użyć typu macierzystego w podpisie publicznych funkcji w typie, z zestawu publicznych widoczności, typ macierzysty musi mieć również dostępność zestawu publicznych lub kompilator wygeneruje ostrzeżenie.

make_publicmusi być określona w zakresie globalnym i działa tylko w od punktu, w którym jest zadeklarowana za pomocą na końcu pliku kodu źródłowego.

Typ macierzysty może być jawnie lub niejawnie prywatnych; zobacz Widoczność typu Aby uzyskać więcej informacji.

Przykład

Poniższy przykład jest zawartość pliku .h, który zawiera definicje dla dwóch kodowanym elemencie macierzystym.

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

Poniższy przykładowy kod pobiera plik nagłówka i pokazuje, że o ile jawnie oznaczysz macierzystym strukturach jako public, za pomocą make_public, kompilator wygeneruje ostrzeżenie, gdy nastąpi próba użycia macierzystym struktur w podpisie funkcji publicznych w publicznych typu zarządzanego.

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

Informacje

Dyrektywy pragma i __Pragma słowa kluczowego