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.
Você pode definir um tipo nativo em uma compilação /clr e qualquer uso desse tipo nativo de dentro do assembly é válido. No entanto, os tipos nativos não estarão disponíveis para uso a partir de metadados referenciados.
Cada assembly deve conter a definição de todos os tipos nativos que irá utilizar.
Para obter mais informações, consulte /clr (Common Language Runtime Compilation).
Exemplos
Este exemplo cria um componente que define e usa um tipo nativo.
// use_native_type_in_clr.cpp
// compile with: /clr /LD
public struct NativeClass {
static int Test() { return 98; }
};
public ref struct ManagedClass {
static int i = NativeClass::Test();
void Test() {
System::Console::WriteLine(i);
}
};
Este exemplo define um cliente que consome o componente. Observe que é um erro aceder ao tipo nativo, a menos que ele seja definido no compilador.
// use_native_type_in_clr_2.cpp
// compile with: /clr
#using "use_native_type_in_clr.dll"
// Uncomment the following 3 lines to resolve.
// public struct NativeClass {
// static int Test() { return 98; }
// };
int main() {
ManagedClass x;
x.Test();
System::Console::WriteLine(NativeClass::Test()); // C2653
}