Cómo: Utilizar un tipo nativo en una compilación con /clr
Actualización: noviembre 2007
Puede definir un tipo nativo en una compilación con /clr y cualquier uso de ese tipo nativo desde dentro del ensamblado será válido. Sin embargo, los tipos nativos no estarán disponibles para su uso desde los metadatos a los que se hace referencia.
Cada ensamblado debe contener la definición de cada tipo nativo que utilice.
Para obtener más información, vea /clr (Compilación de Common Language Runtime).
Ejemplo
Este ejemplo crea un componente que define y utiliza un 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 ejemplo define un cliente que utiliza el componente. Observe que es un error para tener acceso al tipo nativo, a menos que se defina en el compilando.
// 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
}