make_public

指示本机类型应具有公共程序集可访问性。

#pragma make_public(type)

参数

type 是要具有公共可访问性程序集类型的名称。

备注

make_public 有助于,如果要引用的本机类型是从不能更改的 .h 文件。 如果要使用本机输入公共函数的签名在一个类型的公共程序集可见性,本机类型还必须具有公共可访问性程序集或编译器将发出警告。

必须指定make_public 全局范围内并且只有实际上是从它通过声明为源代码文件结尾的点。

本机类型可以隐式或显式是私有;请参见 键入可见性 有关更多信息。

示例

下面的示例是一个本机结构的定义 .h 文件的内容。

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

下面的代码示例使用头文件并表示,因此,除非您显式标记本机结构,因为公共的,使用 make_public,编译器将生成警告,在公共函数签名尝试使用本机结构在公共托管类型中。

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

请参见

参考

杂注指令和__Pragma关键字