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 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
Ayrıca bkz.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin