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