Sdílet prostřednictvím


marshal_as

Tato metoda převede data mezi původním a spravované prostředí.

To_Type marshal_as<To_Type>(
   From_Type input 
);

Parametry

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

Vrácená hodnota

Proměnná typu To_Type je převedené hodnoty input.

Poznámky

Tato metoda je zjednodušený způsob, jak převést data mezi typy spravovaných a nativní.Chcete-li zjistit, jaké typy dat jsou podporovány, Přehled zařazování v jazyce C++.Některé konverzích vyžadují kontext.Převést tyto typy dat pomocí Třída marshal_context.

Při zařazování dvojici datových typů, které nejsou podporovány marshal_as dojde k chybě C4996 v době kompilace.Zpráva předaná k této chybě Další informace číst.C4996 Mohou být generována chyba více než právě nepoužívaných funkcí.Jeden příklad se pokouší zařazování dvojici datových typů, které nejsou podporovány.

Zařazovací knihovna se skládá z několika souborů záhlaví.Jakýkoli převod vyžaduje pouze jeden soubor, ale potřebujete pro jiné převody se mohou obsahovat další soubory.Oblast převodů, které jsou přidruženy soubory, které zobrazíte v tabulce v Marshaling Overview.Bez ohledu na to převodu, co chcete udělat, požadavek oboru názvů je vždy v platnosti.

Příklad

V tomto příkladu marshals z const char* do 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 záhlaví: <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

Třída marshal_context

Koncepty

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