Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье перечислены сопоставления, которые C#/WinRT выполняет между типами среда выполнения Windows (WinRT) и типами .NET в классических приложениях, предназначенных для .NET 6 (или более поздних версий). В этих приложениях Visual Studio IntelliSense отображает тип .NET вместо типа среда выполнения Windows. Например, если метод среда выполнения Windows принимает параметр типа IVector<string> затем IntelliSense отображает параметр типа IList<string>. Аналогичным образом, в компоненте WinRT, создаваемом с помощью C#/WinRT, используется тип .NET в подписях членов. При использовании C#/WinRT для создания компонента среда выполнения Windows тип .NET преобразуется в соответствующий тип WinRT.
Сопоставления пользовательских типов C#/WinRT классифицируются по типам, находящимся в Windows SDK или в WinUI 3 (WinUI является частью Windows App SDK). Типы WinRT для сопоставлений пакетов SDK Windows находятся в пространствах имен Windows.*, а типы WinRT для сопоставлений WinUI находятся в пространствах имен Майкрософт.UI.Xaml.*. Существует две причины для сопоставлений пользовательских типов, которые выполняет C#/WinRT для типов WinRT.
Типы WinRT, сопоставленные с типами .NET с другим именем и (или) пространством имен. Эти пользовательские сопоставления предназначены для сопоставления типов WinRT с существующими .NET эквивалентными типами. Существуют также случаи, когда сопоставление относится к другому типу (например, тип значения сопоставляется с типом класса).
Типы WinRT, которые сопоставляются с типами .NET с одинаковыми именами и находятся в одном пространстве имен. Эти пользовательские сопоставления обычно используются для повышения производительности или оптимизации и реализуются непосредственно на C#. Большинство типов с одинаковым именем пространства имен и именем типа в WinRT и .NET являются структурами (или типами, связанными со структурами, такими как перечисления). В WinRT структуры не содержат других членов, кроме полей, и им требуются вспомогательные типы, которые .NET скрывает. В версиях .NET этих структур присутствуют свойства и методы, которые обеспечивают функциональность скрытых вспомогательных типов (например, Windows.UI.Color).
Замечание
Список сопоставлений между типами WinRT и .NET в контексте приложений UWP см. в разделе .NET сопоставления типов среда выполнения Windows.
Сопоставления типов WinRT в пакете SDK Windows
Типы с другим именем и (или) пространством имен
| Тип и пространство имен WinRT | .NET тип и пространство имен |
|---|---|
| DateTime (Windows.Foundation) | DateTimeOffset (System) |
| EventHandler<T> (Windows.Foundation) | EventHandler<T> (System) |
| EventRegistrationToken (Windows.Foundation) | EventRegistrationToken (WinRT) |
| HResult (Windows.Foundation) | Исключение (система) |
| IClosable (Windows.Foundation) | IDisposable (System) |
| IReference<T> (Windows.Foundation) | Допускающий значение null<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) |
| Плоскость (Windows. Foundation.Numerics) | Плоскость (System.Numerics) |
| Кватернион (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) | Тип (Система) |
Типы с одинаковым именем и пространством имен
| Тип | Namespace |
|---|---|
| IPropertyValue | Windows.Foundation |
| IReferenceArray<T> | Windows.Foundation |
| Точка | Windows.Foundation |
| Rect | Windows.Foundation |
| Size | Windows.Foundation |
| Цвет | Windows.UI (пользовательский интерфейс) |
| TypeKind | Windows.UI.Xaml.Interop |
Сопоставления типов WinRT в WinUI
Типы с другим именем и (или) пространством имен
| Тип и пространство имен WinRT | .NET тип и пространство имен |
|---|---|
| INotifyCollectionChanged (Майкрософт.UI.Xaml.Data) | INotifyCollectionChanged (System.Collections.Specialized) |
| NotifyCollectionChangedEventHandler (Майкрософт.UI.Xaml.Data) | NotifyCollectionChangedEventHandler (System.Collections.Specialized) |
| NotifyCollectionChangedEventArgs (Майкрософт. Пользовательского интерфейса. Xaml.Data) | NotifyCollectionChangedEventArgs (System.Collections.Specialized) |
| NotifyCollectionChangedAction (Майкрософт.UI.Xaml.Data) | NotifyCollectionChangedAction (System.Collections.Specialized) |
| DataErrorsChangedEventArgs (Майкрософт.UI.Xaml.Data) | DataErrorsChangedEventArgs (System.ComponentModel) |
| INotifyDataErrorInfo (Майкрософт.UI.Xaml.Data) | INotifyDataErrorInfo (System.ComponentModel) |
| INotifyPropertyChanged (Майкрософт.UI.Xaml.Data) | INotifyPropertyChanged (System.ComponentModel) |
| PropertyChangedEventHandler (Майкрософт.UI.Xaml.Data) | PropertyChangedEventHandler (System.ComponentModel) |
| PropertyChangedEventArgs (Майкрософт.UI.Xaml.Data) | PropertyChangedEventArgs (System.ComponentModel) |
| ICommand (Майкрософт.UI.Xaml.Input) | ICommand (System.Windows.Input) |
| IXamlServiceProvider (Майкрософт.UI.Xaml) | IServiceProvider (System) |
Типы с одинаковым именем и пространством имен
| Тип | Namespace |
|---|---|
| CornerRadius | Майкрософт.UI.Xaml |
| Продолжительность | Майкрософт.UI.Xaml |
| ТипДлительности | Майкрософт.UI.Xaml |
| GridLength | Майкрософт.UI.Xaml |
| ТипЕдиницыСетки | Майкрософт.UI.Xaml |
| Толщина | Майкрософт.UI.Xaml |
| ПозицияГенератора | Майкрософт.UI.Xaml.Controls.Primitives |
| «Матрица» | Майкрософт.UI.Xaml.Media |
| Keytime | Майкрософт.UI.Xaml.Media.Animation |
| Повторение поведения | Майкрософт.UI.Xaml.Media.Animation |
| ТипПовторения | Майкрософт.UI.Xaml.Media.Animation |
| Matrix3d | Майкрософт.UI.Xaml.Media.Media3D |
Windows developer