Udostępnij za pośrednictwem


marshal_as

Ta metoda konwertuje dane macierzystych i zarządzanych środowiskach.

To_Type marshal_as<To_Type>(
   From_Type input 
);

Parametry

  • [w]input
    Wartość, która ma zostać zorganizowania do To_Type zmienna.

Wartość zwracana

Zmienna typu To_Type czyli przekonwertowane wartości input.

Uwagi

Jest to uproszczony sposób do konwertowania danych między typami macierzystych i zarządzanych.Aby określić, jakie typy danych są obsługiwane, zobacz Omówienie przekazywania międzyprocesowego w języku C++.Konwersje niektóre dane wymagają kontekstu.Można przekonwertować te typy danych za pomocą Klasa marshal_context.

Próba zorganizowania parę typy danych, które nie są obsługiwane, marshal_as wygeneruje błąd, C4996 w czasie kompilacji.Odczytać wiadomości dostarczone z tym błędem, aby uzyskać więcej informacji.C4996 Błąd jest generowany dla więcej niż tylko zdeprecjonowanej funkcji.Przykładem tego jest próba MARSZAŁEK parę typy danych, które nie są obsługiwane.

Organizowania biblioteka składa się z kilku plików nagłówkowych.Żadnej konwersji wymaga tylko jednego pliku, ale można dołączyć dodatkowe pliki, jeśli potrzeba dla innych konwersji.Konwersje, które są skojarzone z plików obejrzeć w tabeli w Marshaling Overview.Niezależnie od tego jaki konwersji chcesz zrobić, wymóg obszaru nazw jest zawsze efektu.

Przykład

W tym przykładzie marshals z const char* do System::String typu zmiennej.

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

Wymagania

Plik nagłówka: <msclr\marshal.h>, <msclr\marshal_windows.h>, <msclr\marshal_cppstd.h> lub <msclr\marshal_atl.h>

Obszar nazw: msclr::interop

Zobacz też

Informacje

Klasa marshal_context

Koncepcje

Omówienie przekazywania międzyprocesowego w języku C++