marshal_as
此方法将在本机和托管环境之间封送数据。
To_Type marshal_as<To_Type>(
From_Type input
);
参数
- [in] input
要封送到 To_Type 变量的值。
返回值
是 input的转换的值类型 To_Type 的变量。
备注
此方法是一个简化的方式将本机之间的数据和托管类型。 若要确定哪些数据类型支持,请参见 将概述在C++。 某些数据转换需要上下文。 使用 marshal_context 类,可以将这些数据类型。
如果您尝试安排的数据类型匹配,不支持 marshal_as 将生成错误 C4996 在编译时。 读取消息提供了此错误有关更多信息。 C4996 错误可能获得更多的已弃用函数生成。 此的示例尝试安排的数据类型匹配不受支持。
封送处理库包括几个头文件。 所有转换只需要一个文件,但是,可以包含其他文件,如果您为其他转换需要。 若要查看哪些转换关联文件,查找在 Marshaling Overview的表中。 无论将为此,命名空间要求始终是有效的。
示例
从 const char* 的此示例送到 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;
}
要求
头文件: <msclr \ marshal.h>, <msclr \ marshal_windows.h>、 <msclr \ marshal_cppstd.h>或 <msclr \ marshal_atl.h>
命名空间: msclr::interop