我正在尝试 C++/WinRT 和 VisualStudio 中可用的 WinUI 模板。我对命名空间::winrt::Microsoft
和::winrt::Windows
. 我只知道前一个,因为自动生成的回调函数使用了一个类型 from ::winrt::Microsoft
,并且不会编译,因为我::winrt::Windows
错误地从命名空间传递了同名类型。我找不到更多关于的信息::winrt::Microsoft
,甚至找不到官方文档。
据我所知,::winrt::Microsoft
并且::winrt::Windows
大部分类型名称相同,但::winrt::Microsoft
. 例如,::winrt::Windows::UI::Colors
两者::winrt::Microsoft::UI::Colors
都存在,但::winrt::Windows::UI::Color
在 Microsoft 命名空间中没有“替代”。
问题:
- 为什么我们有 2 个几乎相同但略有不同的命名空间?
- 在什么情况下我会选择其中一种?
- 为什么
::winrt::Microsoft
缺少某些类型?