Aracılığıyla paylaş


marshal_as

Bu yöntem verileri yerel ve yönetilen ortamlar arasında dönüştürür.

Sözdizimi

To_Type marshal_as<To_Type>(
   From_Type input
);

Parametreler

Giriş
[in] Bir To_Type değişkene sıralamak istediğiniz değer.

İade Değeri

türündeki To_Type bir değişken, dönüştürülen değeridir input.

Açıklamalar

Bu yöntem, verileri yerel ve yönetilen türler arasında dönüştürmenin basitleştirilmiş bir yoludur. Hangi veri türlerinin destekleneceğini belirlemek için bkz . C++'da Sıralamaya Genel Bakış. Bazı veri dönüştürmeleri bir bağlam gerektirir. marshal_context Sınıfını kullanarak bu veri türlerini dönüştürebilirsiniz.

Desteklenmeyen bir veri türü çiftini hazırlamaya çalışırsanız, marshal_as derleme zamanında C4996 hatası oluşturur. Daha fazla bilgi için bu hatayla birlikte verilen iletiyi okuyun. Hata C4996 , kullanım dışı bırakılan işlevlerden daha fazlası için oluşturulabilir. Bunun bir örneği, desteklenmeyen bir çift veri türünü hazırlamaya çalışmaktır.

Hazırlama kitaplığı çeşitli üst bilgi dosyalarından oluşur. Herhangi bir dönüştürme yalnızca bir dosya gerektirir, ancak diğer dönüştürmeler için gerekirse ek dosyalar ekleyebilirsiniz. Hangi dönüştürmelerin hangi dosyalarla ilişkili olduğunu görmek için içindeki tabloya Marshaling Overviewbakın. Hangi dönüştürmeyi yapmak istediğinizden bağımsız olarak, ad alanı gereksinimi her zaman etkindir.

System::ArgumentNullException(_EXCEPTION_NULLPTR) Giriş parametresi null ise atar.

Örnek

Bu örnek, bir const char* türünden bir System::String değişken türüne sıralar.

// 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;
}

Gereksinimler

Üst bilgi dosyası:<msclr\marshal.h>, <msclr\marshal_windows.h>, <msclr\marshal_cppstd.h> veya <msclr\marshal_atl.h>

Ad alanı: msclr::interop

Ayrıca bkz.

Overview of Marshaling in C++
marshal_context Class