다음을 통해 공유


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

다음 코드 샘플에서는 헤더 파일을 사용 하 고 사용 하는 네이티브 구조체에 public으로 명시적으로 표시 하지 않으면 표시 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 키워드