make_public
pragma
Označuje, že nativní typ by měl mít veřejný přístup k sestavení.
Syntaxe
#pragma make_public(
typ)
Parametry
type
Název typu, který chcete mít přístupnost veřejných sestavení.
Poznámky
make_public
je užitečná v případě, že nativní typ, na který chcete odkazovat, pochází ze souboru záhlaví, který nemůžete změnit. Pokud chcete použít nativní typ v podpisu veřejné funkce v typu s viditelností veřejného sestavení, musí mít nativní typ také přístupnost veřejných sestavení nebo kompilátor vydá upozornění.
make_public
musí být zadán v globálním oboru. Platí pouze z bodu, kdy se deklaruje až na konec souboru zdrojového kódu.
Nativní typ může být implicitně nebo explicitně privátní. Další informace najdete v tématu Viditelnost typů.
Příklady
Následující ukázka je obsah hlavičkového souboru, který obsahuje definice pro dvě nativní struktury.
// make_public_pragma.h
struct Native_Struct_1 { int i; };
struct Native_Struct_2 { int i; };
Následující ukázka kódu využívá hlavičkový soubor. Ukazuje, že pokud explicitně označit nativní struktury jako veřejné pomocí make_public
, kompilátor vygeneruje upozornění při pokusu o použití nativních struktur v podpisu veřejné funkce ve veřejném spravovaném typu.
// 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
};