Delen via


.NET koppelingen van WinRT-typen in C#/WinRT

Dit artikel bevat de toewijzingen die C#/WinRT maakt tussen Windows Runtime (WinRT)-typen en .NET typen in bureaublad-apps die zijn gericht op .NET 6 (of hoger). In deze apps wordt in Visual Studio IntelliSense het .NET-type weergegeven in plaats van het Windows Runtime type. Als een Windows Runtime methode bijvoorbeeld een parameter van het type IVector<string> gebruikt, vervolgens toont IntelliSense een parameter van het type IList<string>. Op dezelfde manier gebruikt u in een met C#/WinRT geschreven WinRT-component .NET-typen in de lidhandtekeningen. Wanneer u C#/WinRT gebruikt om een Windows Runtime-onderdeel te genereren, wordt het .NET type omgezet in het bijbehorende WinRT-type.

De aangepaste C#/WinRT-typetoewijzingen worden gecategoriseerd op typen in de Windows SDK of in WinUI 3 (WinUI maakt deel uit van de Windows App SDK). De WinRT-typen voor Windows SDK-toewijzingen staan onder de Windows.* naamruimten, en de WinRT-typen voor WinUI-toewijzingen staan onder de Microsoft.UI.Xaml.* naamruimten. Er zijn twee redenen voor aangepaste typetoewijzingen die C#/WinRT maakt voor WinRT-typen:

  • WinRT-typen die gemapt worden naar .NET-typen met een andere naam en/of naamruimte. Deze aangepaste toewijzingen zijn bedoeld voor het toewijzen van WinRT-typen aan bestaande .NET-gelijkwaardige typen. Er zijn ook gevallen waarin de toewijzing is toegewezen aan een ander type (bijvoorbeeld een waardetype dat is toegewezen aan een klassetype).

  • WinRT-typen die overeenkomen met .NET-typen met dezelfde naam en naamruimte. Deze aangepaste toewijzingen zijn meestal bedoeld voor redenen van prestaties of verbeteringen en worden rechtstreeks in C# geïmplementeerd. De meeste typen met dezelfde naamruimtenaam en typenaam in WinRT en .NET zijn structuren (of typen die zijn gekoppeld aan structuren, zoals opsommingen). In WinRT hebben structuren geen andere leden dan velden en vereisen hulptypen, die door .NET worden afgeschermd. De .NET versies van deze structuren hebben eigenschappen en methoden die de functionaliteit van de verborgen helpertypen bieden (bijvoorbeeld Windows. UI. Kleur).

Notitie

Zie .NET-toewijzingen van Windows Runtime-typen voor een lijst van toewijzingen tussen WinRT- en .NET-typen in de context van UWP-apps.

Koppelingen voor WinRT-typen in de Windows SDK

Typen met een andere naam en/of naamruimte

WinRT-type/naamruimte .NET type/naamruimte
DateTime (Windows.Foundation) DateTimeOffset (systeem)
EventHandler<T> (Windows.Foundation) EventHandler<T> (Systeem)
EventRegistrationToken (Windows.Foundation) EventRegistrationToken (WinRT)
HResult (Windows. Stichting) Uitzondering (systeem)
IClosable (Windows. Stichting) IDisposable (systeem)
IReference<T> (Windows.Foundation) Nullable<T> (Systeem)
Tijdspanne (Windows. Stichting) Tijdspanne (systeem)
Uri (Windows. Stichting) URI (systeem)
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 (systeem)
AttributeUsageAttribute (Windows. Foundation.Metadata) AttributeUsageAttribute (systeem)
Matrix3x2 (Windows. Foundation.Numerics) Matrix3x2 (System.Numerics)
Matrix4x4 (Windows. Foundation.Numerics) Matrix4x4 (System.Numerics)
Vlak (Windows.Foundation.Numerics) Vlak (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 (systeem)

Typen met dezelfde naam en naamruimte

Type Namespace
IPropertyValue Windows. Stichting
IReferenceArray<T> Windows. Stichting
Punt Windows. Stichting
Rect Windows. Stichting
Grootte Windows. Stichting
Kleur Windows.UI
TypeKind Windows.UI.Xaml.Interop

Toewijzingen voor WinRT-typen in WinUI

Typen met een andere naam en/of naamruimte

WinRT-type/naamruimte .NET type/naamruimte
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 (systeem)

Typen met dezelfde naam en naamruimte

Type Namespace
CornerRadius Microsoft. UI. Xaml
Duur Microsoft. UI. Xaml
DuurType Microsoft. UI. Xaml
GridLength Microsoft. UI. Xaml
Grid-eenheidstype Microsoft. UI. Xaml
Dikte Microsoft. UI. Xaml
GeneratorPosition Microsoft.UI.Xaml.Controls.Primitives
Matrix Microsoft.UI.Xaml.Media
KeyTime Microsoft. UI. Xaml.Media.Animation
HerhaalGedrag Microsoft. UI. Xaml.Media.Animation
RepeatBehaviorType Microsoft. UI. Xaml.Media.Animation
Matrix3D Microsoft.UI.Xaml.Media.Media3D