marshal_as
Questo metodo converte i dati tra ambienti nativi e gestiti.
To_Type marshal_as<To_Type>(
From_Type input
);
Parametri
- [in] input
Il valore che si desidera eseguire il marshalling di a To_Type una variabile.
Valore restituito
Una variabile di tipo To_Type che è il valore convertito di input.
Note
Questo metodo è un metodo semplificato convertire i dati tra heap nativo e tipi gestiti.Per determinare quali tipi di dati supportati, vedere Cenni preliminari sul marshalling in C++.Alcune conversioni di dati richiede un contesto.È possibile convertire i tipi di dati utilizzando Classe marshal_context.
Se si tenta di eseguire il marshalling di una coppia di tipi di dati non supportati, marshal_as genererà un errore L'avviso C4996 in fase di compilazione.Leggere il messaggio fornito con questo errore per ulteriori informazioni.L'errore di C4996 può essere generato per oltre alle funzioni deprecate.Un esempio di questo sta tentando di eseguire il marshalling di una coppia di tipi di dati non supportati.
La libreria del marshalling è costituito da diversi file di intestazione.Qualsiasi conversione richiede solo un file, ma è possibile includere file aggiuntivi se sono necessarie per altre conversioni.Per vedere quali conversioni sono associate ai file, aspetto della tabella in Marshaling Overview.Indipendentemente dalla conversione da apportare, il requisito dello spazio dei nomi è sempre attive.
Esempio
Marshalling di questo esempio da const char* a un tipo di variabile System::String .
// 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;
}
Requisiti
file di intestazione: <msclr \ marshal.h>, <msclr \ marshal_windows.h>, <msclr \ marshal_cppstd.h>, o <msclr \ marshal_atl.h>
Msclr::interop diSpazio dei nomi: