Sdílet prostřednictvím


Postupy: Použití nativního typu v kompilaci /clr

Nativní typ můžete definovat v kompilaci /clr a jakékoli použití nativního typu v rámci 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).

Příklad

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ý zpracovává komponentu.Všimněte si, že se jedná o chybu přístupu k nativnímu typu, pokud není definován v souboru pro kompilaci.

// 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é

Referenční dokumentace

Použití zprostředkovatele komunikace C++ (implicitní služba PInvoke)