Sdílet prostřednictvím


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

Viz také

Direktivy Pragma a __pragma _Pragma klíčová slova