Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Este método convierte los datos entre los entornos nativo y administrado.
To_Type marshal_as<To_Type>(
From_Type input
);
Parámetros
- [in] input
El valor que desea calcular a To_Type una variable.
Valor devuelto
Una variable de To_Type tipo que es el valor convertido de input.
Comentarios
Este método es una manera simplificada de convertir datos entre código nativo y los tipos administrados.Para determinar admiten los tipos de datos, vea Información general sobre el cálculo de referencias en C++.Algunas conversiones de datos requieren un contexto.Puede convertir los tipos de datos mediante marshal_context (Clase).
Si intenta para formar un par de tipos de datos que no se admiten, marshal_as generará un error C4996 en tiempo de compilación.Lea el mensaje proporcionado con el error para obtener más información.El error de C4996 se puede generar para algo más que las funciones aplazada de desuso.Un ejemplo de esto intenta para formar un par de tipos de datos que no se admiten.
La biblioteca de cálculo de referencias se compone de varios archivos de encabezado.Cualquier conversión requiere solo un archivo, pero puede incluir archivos adicionales si necesita para otras conversiones.Para ver qué conversiones son asociado a cada archivo, examine la tabla en Marshaling Overview.Independientemente de conversión desea hacer, el requisito de espacio de nombres siempre está en vigor.
Ejemplo
Calcula las referencias de este ejemplo de const char* a un tipo de variable de 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;
}
Requisitos
archivo de encabezado: <msclr \ marshal.h>, <msclr \ marshal_windows.h>, <msclr \ marshal_cppstd.h>, o <msclr \ marshal_atl.h>
Msclr::interop deespacio de nombres: