Sdílet prostřednictvím


marshal_as

Tato metoda převádí data mezi nativními a spravovanými prostředími.

Syntaxe

To_Type marshal_as<To_Type>(
   From_Type input
);

Parametry

Vstupní
[v] Hodnota, kterou chcete zařadit do To_Type proměnné.

Vrácená hodnota

Proměnná typu To_Type , která je převedenou hodnotou input.

Poznámky

Tato metoda představuje zjednodušený způsob převodu dat mezi nativními a spravovanými typy. Informace o podporovaných datových typech najdete v tématu Přehled zařazování v jazyce C++. Některé převody dat vyžadují kontext. Tyto datové typy můžete převést pomocí třídy marshal_context.

Pokud se pokusíte zařadíte dvojici datových typů, které nejsou podporovány, marshal_as vygeneruje se chyba C4996 v době kompilace. Další informace najdete ve zprávě dodané s touto chybou. Chybu C4996 je možné vygenerovat pro více než jen zastaralé funkce. Jedním z příkladů je pokus o zařazování dvojice datových typů, které nejsou podporovány.

Knihovna zařazování se skládá z několika souborů hlaviček. Jakýkoli převod vyžaduje jenom jeden soubor, ale pokud potřebujete jiné převody, můžete zahrnout další soubory. Chcete-li zjistit, které převody jsou přidruženy ke kterým souborům, podívejte se do tabulky v Marshaling Overview. Bez ohledu na to, jaký převod chcete provést, se požadavek na obor názvů vždy projeví.

System::ArgumentNullException(_EXCEPTION_NULLPTR) Vyvolá výjimku, pokud je vstupní parametr null.

Příklad

Tento příklad zařazuje z const char* proměnné do System::String typu 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

Hlavičkový soubor:<msclr\marshal.h>, <msclr\marshal_windows.h>, <msclr\marshal_cppstd.h> nebo <msclr\marshal_atl.h>

Obor názvů: msclr::interop

Viz také

Přehled zařazování v jazyce C++
marshal_context Class