Postupy: Použití nativního typu v kompilaci /clr
Nativní typ můžete definovat v kompilaci /clr a jakékoli použití tohoto nativního typu z sestavení je platné. Nativní typy však nebudou k dispozici pro použití z odkazovaných metadat.
Každé sestavení musí obsahovat definici každého nativního typu, který bude používat.
Další informace naleznete v tématu /clr (Common Language Runtime Compilation).
Příklady
Tato ukázka vytvoří komponentu, která definuje a používá nativní typ.
// 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);
}
};
Tato ukázka definuje klienta, který komponentu využívá. Všimněte si, že se jedná o chybu pro přístup k nativnímu typu, pokud není definována v compilandu.
// 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
}
Viz také
Použití zprostředkovatele komunikace C++ (implicitní služba PInvoke)