Поделиться через


make_public

Указывает, что собственный тип должен иметь открытые специальные возможности сборки.

#pragma make_public(type)

Параметры

type имя типа необходимо иметь открытые специальные возможности сборки.

Заметки

make_public полезны, если собственный тип нужно ссылаться из файла .h, которые нельзя изменить.Если нужно использовать собственный, введите в сигнатуре открытой функции в типе с общей видимостью сборки, собственный тип должен также иметь открытые специальные возможности сборки или компилятор выводит предупреждение.

make_public быть указан только в глобальной области и действует от точки на котором она объявлена до конца в конец файла исходного кода.

Собственный тип может быть неявно или явно закрыто; см. Видимость типов для получения дополнительных сведений.

Пример

В следующем примере содержимое файла .h, который содержит определения для собственных структур 2.

// 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 и ключевое слово __Pragma