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