Sdílet prostřednictvím


marshal_as

Tato metoda převede dat mezi nativními a spravovanými prostředími.

To_Type marshal_as<To_Type>(
   From_Type input 
);

Parametry

  • [in] input
    Hodnota, kterou chcete ke To_Type proměnné.

Vrácená hodnota

Proměnné typu To_Type který je převedená hodnota input.

Poznámky

Tato metoda je zjednodušený způsob pro převod dat mezi nativními a spravovanými typy.Chcete-li zjistit, jaké typy dat jsou podporovány, naleznete v Přehled zařazování v jazyku C++.Některé převody dat vyžaduje kontext.Tyto datové typy můžete převést pomocí marshal_context – třída.

Při pokusu o zařazení dvojici datových typů, které nejsou podporovány, marshal_as dojde k chybě C4996 v době kompilace.Přečtěte si zprávu, jsou součástí této chybě Další informace.C4996 Chyb mohou být generovány pro více než jen již nepoužívaných funkcí.Příkladem se pokouší zařadit pár typů dat, které nejsou podporovány.

Zařazovací knihovna se skládá z několika souborů hlaviček.Jakýkoli převod vyžaduje pouze jeden soubor, ale pokud potřebujete pro jiné převody můžete zahrnout další soubory.Převody, které jsou přidruženy soubory, které zobrazíte oblast v tabulce v Marshaling Overview.Bez ohledu na to jaký převodu chcete udělat, požadavek na obor názvů je vždy v platnosti.

Příklad

V tomto příkladu zařazuje z const char* k System::String typ proměnné.

// marshal_as_test.cpp
// compile with: /clr
#include <stdlib.h>
#include <string.h>
#include <msclr\marshal.h>

using namespace System;
using namespace msclr::interop;

int main() {
   const char* message = "Test String to Marshal";
   String^ result;
   result = marshal_as<String^>( message );
   return 0;
}

Požadavky

Soubor:<msclr\marshal.h>, <msclr\marshal_windows.h>, <msclr\marshal_cppstd.h>, nebo <msclr\marshal_atl.h>

Obor názvů: msclr::interop

Viz také

Referenční dokumentace

marshal_context – třída

Koncepty

Přehled zařazování v jazyku C++