make_public
Označuje, že nativní typ by měl mít veřejný přístup k sestavení.
#pragma make_public(type)
Parametry
type je název typu, který bude mít veřejný přístup k sestavení.
Poznámky
make_public je užitečná, pochází-li nativní typ, na který je odkazováno, ze souboru .h, který nelze změnit.Je-li třeba nativní typ použít v podpisu veřejné funkce v typu s veřejnou viditelností sestavení, musí mít nativní typ také veřejný přístup k sestavení. Pokud toto neplatí, kompilátor vygeneruje upozornění.
make_public musí být zadána v globálním oboru a je platná pouze od okamžiku, v němž je deklarována a platí až po konec souboru zdrojového kódu.
Nativní typ může být implicitně nebo explicitně soukromý. Více informací v tématu Typ viditelnosti.
Příklad
Následující příklad je obsah souboru .h, který obsahuje definice dvou nativních struktur.
// make_public_pragma.h
struct Native_Struct_1 { int i; };
struct Native_Struct_2 { int i; };
Následující příklad kódu používá hlavičkový soubor a ukazuje, že pokud nejsou nativní struktury explicitně označeny jako veřejné, vygeneruje se při použití make_public, při pokusu o použití nativních struktur v podpisu veřejné funkce veřejného spravovaného typu, upozornění kompilátoru.
// 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
};