Share via


make_public

Gibt an, dass ein systemeigener Typ öffentliche Assembly barrierefreiheit zugewiesen werden soll.

#pragma make_public(type)

Parameter

type ist der Name des Typs, den Sie öffentliche Assembly barrierefreiheit werden soll.

Hinweise

make_public ist nützlich, wenn der systemeigene Typ, den Sie verweisen möchten, aus der H-Datei ist, die Sie nicht ändern können.Wenn Sie das systemeigene verwenden möchten, geben Sie die Signatur eine öffentliche Funktion in einem Typ mit öffentlichem Assemblysichtbarkeit, muss der systemeigene Typ barrierefreiheit auch öffentliche Assembly oder der Compiler gibt eine Warnung aus.

make_public muss im globalen Gültigkeitsbereich angegeben werden und ist nur wirksam ist der Punkt, an dem sie nach dem Ende der Quellcodedatei deklariert ist.

Der systemeigene Typ ist möglicherweise implizit oder explizit privat. Weitere Informationen finden Sie unter Type Visibility .

Beispiel

Das folgende Beispiel zeigt den Inhalt einer H-Datei, die die Definitionen für zwei systemeigenen Strukturen enthält.

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

Im folgenden Codebeispiel wird die Headerdatei und stellt dass dar, es sei denn, Sie explizit die systemeigenen Strukturen markieren, da öffentlich, wobei make_publicder Compiler eine Warnung ausgegeben, wenn Sie versuchen, die systemeigenen Strukturen in der Signatur der öffentlichen Funktion in einem öffentlichen verwalteten Typ zu verwenden.

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

Siehe auch

Referenz

Pragma-Direktiven und das __Pragma-Schlüsselwort