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
girdi
[in] Bir To_Type
değişkene sıralamak istediğiniz değer.
Dönüş 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 Overview
bakı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