.NET-Zuordnungen von WinRT-Typen in C#/WinRT
In diesem Artikel werden die Zuordnungen aufgeführt, die C#/WinRT zwischen WinRT-Typen (Windows-Runtime) und .NET-Typen in Desktop-Apps für .NET 6 (oder höher) vornimmt. In diesen Apps zeigt Visual Studio IntelliSense den .NET-Typ anstelle des Windows Runtime-Typs an. Wenn beispielsweise eine Windows-Runtime Methode einen Parameter vom Typ IVector<string> übernimmt, zeigt IntelliSense einen Parameter vom Typ IList<string> an. Ebenso verwenden Sie in einer WinRT-Komponente, die mit C#/WinRT geschrieben wurde, den .NET-Typ in Membersignaturen. Wenn Sie C#/WinRT verwenden, um eine Windows Runtime-Komponente zu generieren, wird der .NET-Typ in den entsprechenden WinRT-Typ übersetzt.
Die benutzerdefinierten C#/WinRT-Typzuordnungen werden nach Typen im Windows SDK oder in WinUI 3 kategorisiert (WinUI 3 ist Teil des Windows App SDK). Die WinRT-Typen für Windows SDK-Zuordnungen befinden sich unter den Windows.*-Namespaces, und die WinRT-Typen für WinUI 3-Zuordnungen befinden sich unter den Microsoft.UI.Xaml.*-Namespaces. Es gibt zwei Gründe für benutzerdefinierte Typzuordnungen, die C#/WinRT für WinRT-Typen vornimmt:
WinRT-Typen, die .NET-Typen mit einem anderen Namen und/oder Namespace zugeordnet werden. Diese benutzerdefinierten Zuordnungen dienen dem Zuordnen von WinRT-Typen zu vorhandenen äquivalenten .NET-Typen. Es gibt auch Fälle, in denen die Zuordnung zu einem anderen Typ erfolgt (z. B. wird ein value-Typ einem class-Typ zugeordnet).
WinRT-Typen, die .NET-Typen mit demselben Namen und Namespace zugeordnet werden. Diese benutzerdefinierten Zuordnungen gibt es in der Regel aus Leistungs- oder Verbesserungsgründen, und sie werden direkt in C# implementiert. Die meisten Typen mit demselben Namespace- und Typnamen in WinRT und .NET sind Strukturen (oder Typen, die Strukturen zugeordnet sind, z. B. Aufzählungen bzw. Enumerationen). In WinRT haben Strukturen keine anderen Member als Felder und erfordern Hilfstypen, die in .NET ausgeblendet sind. Die .NET-Versionen dieser Strukturen haben Eigenschaften und Methoden, die die Funktionalität der ausgeblendeten Hilfstypen bereitstellen (z. B. Windows.UI.Color).
Hinweis
Eine Liste der Zuordnungen zwischen WinRT- und .NET-Typen im Kontext von UWP-Apps finden Sie unter .NET-Zuordnungen von WinRT-Typen in UWP.
Zuordnungen für WinRT-Typen im Windows SDK
Typen mit einem anderen Namen und/oder Namespace
WinRT-Type/-Namespace | .NET-Type/-Namespace |
---|---|
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) |
Typen mit demselben Namen und Namespace
Typ | Namespace |
---|---|
IPropertyValue | Windows.Foundation |
IReferenceArray<T> | Windows.Foundation |
Punkt | Windows.Foundation |
Rect | Windows.Foundation |
Size | Windows.Foundation |
Color | Windows.UI |
TypeKind | Windows.UI.Xaml.Interop |
Zuordnungen für WinRT-Typen in WinUI
Typen mit einem anderen Namen und/oder Namespace
WinRT-Type/-Namespace | .NET-Type/-Namespace |
---|---|
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) |
Typen mit demselben Namen und Namespace
Typ | Namespace |
---|---|
CornerRadius | Microsoft.UI.Xaml |
Duration | Microsoft.UI.Xaml |
DurationType | Microsoft.UI.Xaml |
GridLength | Microsoft.UI.Xaml |
GridUnitType | Microsoft.UI.Xaml |
Stärke | Microsoft.UI.Xaml |
GeneratorPosition | Microsoft.UI.Xaml.Controls.Primitives |
Matrix | 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