![]() |
1
3
“继承”或“子类”在WinRT是微妙的不同于C++的继承。因为这些是COM接口,所以当您对WinRT RuntimeClass进行子类化时,您真正要做的是 COM Aggregation ,与实现基类型的 overridable interfaces .由于COM聚合方面,这比标准的C++继承更为繁琐,这与所有委托/非委托、特殊构造等有关。这将是WRL中的一个主要问题,但是C++/CX在引擎盖下做了一组编译器魔术来抽象这一点。幸运的是,C++/WiRT帮助你提供两种类型的抽象,而不诉诸不可见的魔法。 如果您正在编写一个不需要在外部可见的类型(例如,应用程序,而不是运行时组件),C++ + WiRT为此提供了方便的助手:
此基本类型
另一方面,如果需要通过IDL编写已投影的类型:
这将产生类似于内置的脚手架
(注:
|
![]() |
fs_dm · XAML原语中的绑定 6 年前 |
![]() |
Patrick · 从UWP应用程序获取图标 6 年前 |
![]() |
Zubair Rana · 如何防止UWP中的软输入面板自动关闭? 6 年前 |
![]() |
Donat · 在XAML中绑定单例(UWP) 6 年前 |