Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Niektóre typy środowisko wykonawcze systemu Windows otrzymują specjalną obsługę w języku C++/CX oraz języki oparte na środowisku uruchomieniowym języka wspólnego (CLR). W tym artykule omówiono sposób mapowania kilku typów w jednym języku na inny język. Na przykład clR mapuje Windows.Foundation.IVector na System.Collections.IList, Windows.Foundation.IMap na System.Collections.IDictionary itd. Podobnie język C++/CX specjalnie mapuje typy, takie jak Platform::D elegate i Platform::String.
Mapowanie środowisko wykonawcze systemu Windows na C++/CX
Gdy język C++/CX odczytuje plik metadanych systemu Windows (winmd), kompilator automatycznie mapuje typowe przestrzenie nazw i typy środowisko wykonawcze systemu Windows do przestrzeni nazw I typów C++/CX. Na przykład typ UInt32
środowisko wykonawcze systemu Windows liczbowy jest automatycznie mapowany na default::uint32
.
Język C++/CX mapuje kilka innych typów środowisko wykonawcze systemu Windows na przestrzeń nazw platformy. Na przykład uchwyt HSTRING systemu Windows::Foundation , który reprezentuje ciąg tekstowy Unicode tylko do odczytu, jest mapowany na klasę C++/CX Platform::String
. Gdy operacja środowisko wykonawcze systemu Windows zwraca błąd HRESULT, jest mapowany na C++/CX Platform::Exception
.
Język C++/CX mapuje również niektóre typy w środowisko wykonawcze systemu Windows przestrzeni nazw, aby zwiększyć funkcjonalność typu. W przypadku tych typów język C++/CX udostępnia konstruktory pomocnika i metody specyficzne dla języka C++ i nie są dostępne w standardowym pliku winmd typu.
Na poniższych listach przedstawiono struktury wartości, które obsługują nowe konstruktory i metody pomocnicze. Jeśli wcześniej napisano kod korzystający z list inicjowania struktury, zmień go, aby używał nowo dodanych konstruktorów.
Windows::Foundation
Osoba
Rect
Rozmiar
Windows::UI
- Color
Windows::UI::Xaml
CornerRadius
Czas trwania
GridLength
Grubość
Windows::UI::Xaml::Interop
- TypeName
Windows::UI::Xaml::Media
- Macierz
Windows::UI::Xaml::Media::Animation
KeyTime
RepeatBehavior
Windows::UI::Xaml::Media::Media3D
- Macierz3-W
Mapowanie środowiska CLR na C++/CX
Gdy kompilatory języka Microsoft C++ lub C# odczytują plik winmd, automatycznie mapują niektóre typy w pliku metadanych na odpowiednie typy C++/CX lub CLR. Na przykład w clR interfejs IVector<T jest mapowany na IList<T>>. Jednak w języku C++/CX interfejs IVector<T> nie jest mapowany na inny typ.
IReference<T> w środowisko wykonawcze systemu Windows mapuje na wartość Nullable<T> na platformie .NET.