Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Indica que um tipo nativo deve ter acessibilidade de assembly público.
Sintaxe
#pragma make_public(tipo)
Parâmetros
tipo
O nome do tipo que você deseja ter acessibilidade de assembly público.
Comentários
make_public é útil para quando o tipo nativo que você deseja referenciar é de um arquivo de cabeçalho que você não pode alterar. Se você quiser usar o tipo nativo na assinatura de uma função pública em um tipo com visibilidade de assembly público, o tipo nativo também deve ter acessibilidade de assembly público, ou o compilador emitirá um aviso.
make_public devem ser especificados no âmbito global. Ele só está em vigor desde o ponto em que é declarado até o final do arquivo de código-fonte.
O tipo nativo pode ser implícita ou explicitamente privado. Para obter mais informações, consulte Visibilidade de tipo.
Exemplos
O exemplo a seguir é o conteúdo de um arquivo de cabeçalho que contém as definições para duas estruturas nativas.
// make_public_pragma.h
struct Native_Struct_1 { int i; };
struct Native_Struct_2 { int i; };
O exemplo de código a seguir consome o arquivo de cabeçalho. Ele mostra que, a menos que você marque explicitamente as estruturas nativas como públicas usando make_public, o compilador gerará um aviso quando você tentar usar as estruturas nativas na assinatura da função pública em um tipo gerenciado publicamente.
// 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
};