Correspondances .NET des types WinRT en C#/WinRT
Cet article répertorie les mappages que C#/WinRT effectue entre les types Windows Runtime (WinRT) et les types .NET dans les applications de bureau qui ciblent .NET 6 (ou version ultérieure). Dans ces applications, Visual Studio IntelliSense affiche le type .NET au lieu du type Windows Runtime. Par exemple, si une méthode Windows Runtime prend un paramètre de type IVector<string>, IntelliSense affiche un paramètre de type IList<string>. De même, dans un composant WinRT créé avec C#/WinRT, vous utilisez le type .NET dans les signatures de membres. Quand vous utilisez C#/WinRT pour générer un composant Windows Runtime, le type .NET est converti dans le type WinRT correspondant.
Les mappages de types personnalisés C#/WinRT sont catégorisés par types dans le SDK Windows ou dans WinUI 3 (WinUI 3 fait partie du SDK Windows App). Les types WinRT pour les mappages du SDK Windows résident sous les espaces de noms Windows.* et les types WinRT pour les mappages WinUI 3 se trouvent sous les espaces de noms Microsoft.UI.Xaml.*. Il existe deux raisons pour lesquelles C#/WinRT effectue des mappages de types personnalisés pour les types WinRT :
Les types WinRT qui sont mappés à des types .NET avec un autre nom et/ou espace de noms. Ces mappages personnalisés permettent de mapper des types WinRT à des types .NET équivalents existants. Il y a également des cas où le mappage s’effectue vers un type différent (par exemple, un type de valeur est mappé à un type de classe).
Les types WinRT qui sont mappés à des types .NET avec le même nom et le même espace de noms. Ces mappages personnalisés sont généralement effectués pour des raisons de performance ou d’amélioration, et ils sont implémentés directement en C#. La plupart des types qui présentent le même nom d’espace de noms et le même nom de type dans WinRT et .NET sont des structures (ou des types associés à des structures, tels que les énumérations). Dans WinRT, les structures ont pour seuls membres des champs, et elles requièrent des types d’assistance, qui sont masqués par .NET. Les versions .NET de ces structures présentent des propriétés et des méthodes qui fournissent les fonctionnalités des types d’assistance masqués (par exemple, Windows.UI.Color).
Note
Pour obtenir la liste des mappages entre les types WinRT et .NET dans le contexte des applications UWP, consultez Mappages .NET de types WinRT dans UWP.
Mappages de types WinRT dans le SDK Windows
Types avec un nom et/ou un espace de noms différents
Type/espace de noms WinRT | Type/espace de noms .NET |
---|---|
DateTime (Windows.Foundation) | DateTimeOffset (System) |
EventHandler<T> (Windows.Foundation) | EventHandler<T> (System) |
EventRegistrationToken (Windows.Foundation) | EventRegistrationToken (WinRT) |
HResult (Windows.Foundation) | Exception (System) |
IClosable (Windows.Foundation) | IDisposable (System) |
IReference<T> (Windows.Foundation) | Nullable<T> (System) |
TimeSpan (Windows.Foundation) | TimeSpan (System) |
Uri (Windows.Foundation) | Uri (System) |
IIterable<T> (Windows.Foundation.Collections) | IEnumerable<T> (System.Collections.Generic) |
IIterator<T> (Windows.Foundation.Collections) | IEnumerator<T> (System.Collections.Generic) |
IMap<K,V> (Windows.Foundation.Collections) | IDictionary<TKey,TValue> (System.Collections.Generic) |
IMapView<K,V> (Windows.Foundation.Collections) | IReadOnlyDictionary<TKey,TValue> (System.Collections.Generic) |
IKeyValuePair<K,V> (Windows.Foundation.Collections) | KeyValuePair<TKey,TValue> (System.Collections.Generic) |
IVector<T> (Windows.Foundation.Collections) | IList<T> (System.Collections.Generic) |
IVectorView<T> (Windows.Foundation.Collections) | IReadOnlyList<T> (System.Collections.Generic) |
AttributeTargets (Windows.Foundation.Metadata) | AttributeTargets (System) |
AttributeUsageAttribute (Windows.Foundation.Metadata) | AttributeUsageAttribute (System) |
Matrix3x2 (Windows.Foundation.Numerics) | Matrix3x2 (System.Numerics) |
Matrix4x4 (Windows.Foundation.Numerics) | Matrix4x4 (System.Numerics) |
Plane (Windows.Foundation.Numerics) | Plane (System.Numerics) |
Quaternion (Windows.Foundation.Numerics) | Quaternion (System.Numerics) |
Vector2 (Windows.Foundation.Numerics) | Vector2 (System.Numerics) |
Vector3 (Windows.Foundation.Numerics) | Vector3 (System.Numerics) |
Vector4 (Windows.Foundation.Numerics) | Vector4 (System.Numerics) |
IBindableIterable (Windows.UI.Xaml.Interop) | IEnumerable (System.Collections) |
IBindableVector (Windows.UI.Xaml.Interop) | IList (System.Collections) |
TypeName (Windows.UI.Xaml.Interop) | Type (System) |
Types avec les mêmes nom et espace de noms
Type | Espace de noms |
---|---|
IPropertyValue | Windows.Foundation |
IReferenceArray<T> | Windows.Foundation |
Point | Windows.Foundation |
Rect | Windows.Foundation |
Size | Windows.Foundation |
Couleur | Windows.UI |
TypeKind | Windows.UI.Xaml.Interop |
Mappages de types WinRT dans WinUI
Types avec un nom et/ou un espace de noms différents
Type/espace de noms WinRT | Type/espace de noms .NET |
---|---|
INotifyCollectionChanged (Microsoft.UI.Xaml.Data) | INotifyCollectionChanged (System.Collections.Specialized) |
NotifyCollectionChangedEventHandler (Microsoft.UI.Xaml.Data) | NotifyCollectionChangedEventHandler (System.Collections.Specialized) |
NotifyCollectionChangedEventArgs (Microsoft.UI.Xaml.Data) | NotifyCollectionChangedEventArgs (System.Collections.Specialized) |
NotifyCollectionChangedAction (Microsoft.UI.Xaml.Data) | NotifyCollectionChangedAction (System.Collections.Specialized) |
DataErrorsChangedEventArgs (Microsoft.UI.Xaml.Data) | DataErrorsChangedEventArgs (System.ComponentModel) |
INotifyDataErrorInfo (Microsoft.UI.Xaml.Data) | INotifyDataErrorInfo (System.ComponentModel) |
INotifyPropertyChanged (Microsoft.UI.Xaml.Data) | INotifyPropertyChanged (System.ComponentModel) |
PropertyChangedEventHandler (Microsoft.UI.Xaml.Data) | PropertyChangedEventHandler (System.ComponentModel) |
PropertyChangedEventArgs (Microsoft.UI.Xaml.Data) | PropertyChangedEventArgs (System.ComponentModel) |
ICommand (Microsoft.UI.Xaml.Input) | ICommand (System.Windows.Input) |
IXamlServiceProvider (Microsoft.UI.Xaml) | IServiceProvider (System) |
Types avec les mêmes nom et espace de noms
Type | Espace de noms |
---|---|
CornerRadius | Microsoft.UI.Xaml |
Duration | Microsoft.UI.Xaml |
DurationType | Microsoft.UI.Xaml |
GridLength | Microsoft.UI.Xaml |
GridUnitType | Microsoft.UI.Xaml |
Thickness | Microsoft.UI.Xaml |
GeneratorPosition | Microsoft.UI.Xaml.Controls.Primitives |
Matrice | Microsoft.UI.Xaml.Media |
KeyTime | Microsoft.UI.Xaml.Media.Animation |
RepeatBehavior | Microsoft.UI.Xaml.Media.Animation |
RepeatBehaviorType | Microsoft.UI.Xaml.Media.Animation |
Matrix3D | (Microsoft.UI.Xaml.Media.Media3D |
Windows developer