Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Vissa Windows Runtime-typer får särskild hantering i C++/CX och de språk som baseras på CLR (Common Language Runtime). I den här artikeln beskrivs hur flera typer på ett språk mappar till ett annat språk. CLR mappar till exempel Windows.Foundation.IVector till System.Collections.IList, Windows.Foundation.IMap till System.Collections.IDictionary och så vidare. På samma sätt mappar C++/CX särskilt typer som Platform::D elegate och Platform::String.
Mappa Windows Runtime till C++/CX
När C++/CX läser en Windows-metadatafil (.winmd) mappar kompilatorn automatiskt vanliga Windows Runtime-namnområden och -typer till C++/CX-namnområden och -typer. Till exempel mappas den numeriska Windows Runtime-typen UInt32 automatiskt till default::uint32.
C++/CX mappar flera andra Windows Runtime-typer till plattformsnamnområdet . Till exempel mappas Windows::Foundation HSTRING-referensen, som representerar en skrivskyddad Unicode-textsträng, till klassen C++/CX Platform::String . När en Windows Runtime-åtgärd returnerar felet HRESULT mappas den till en C++/CX Platform::Exception.
C++/CX mappar även vissa typer i Windows Runtime-namnområden för att förbättra funktionen för typen. För dessa typer tillhandahåller C++/CX hjälpkonstruktorer och metoder som är specifika för C++ och som inte är tillgängliga i typens standard.winmd-fil.
Följande listor visar värdestrukturer som stöder nya konstruktorer och hjälpmetoder. Om du tidigare har skrivit kod som använder struct-initieringslistor ändrar du den så att den använder de nyligen tillagda konstruktorerna.
Windows::Foundation
Punkt
Rekt
Storlek
Windows::UI
- Färg
Windows::UI::Xaml
CornerRadius
Varaktighet
GridLength
Tjocklek
Windows::UI::Xaml::Interop
- Typnamn
Windows::UI::Xaml::Media
- Matrix
Windows::UI::Xaml::Media::Animation
KeyTime
Upprepningsbeteende
Windows::UI::Xaml::Media::Media3D
- Matrix3D
Mappa CLR till C++/CX
När Microsoft C++ eller C#-kompilatorerna läser en .winmd-fil mappar de automatiskt vissa typer i metadatafilen till lämpliga C++/CX- eller CLR-typer. I CLR mappas till exempel IVector<T-gränssnittet> till IList<T>. Men i C++/CX mappas inte IVector<T-gränssnittet> till en annan typ.
IReference<T> i Windows Runtime mappar till Nullable<T> i .NET.