2

我试图了解 WinRT 的一些较低级别的部分是如何工作的。我遇到了ComposableAttribute这可能是我需要的关键。但是,它的文档非常薄。

指示编程元素的组成方式。

如您所知,这实际上并不能告诉我任何事情。有谁知道这个属性的用途和它应该做什么?

4

1 回答 1

4

ComposableAttribute类型标记为可实例化以用作跨 Windows 运行时 ABI 边界的基类。它类似于ActivatableAttribute,它将一个类型标记为可实例化以跨 ABI 边界“激活”(即直接使用,不用作基类)。Windows 运行时基于 COM,并不真正支持真正的继承。相反,继承是通过元数据欺骗和聚合伪造的。

您可以定义自己的可组合类型,但如果这样做,它们必须派生自平台中的可组合类型(这是Windows 8 应用认证要求中的元数据规则之一)。对于 Windows 8,这意味着您的可组合类型必须直接或间接从Windows.UI.Xaml.DependencyObject. 最后,可组合类型只能使用 IDL 和 WRL 编写;C++/CX 和 .NET 都不能用于定义可组合类型。

于 2012-10-04T20:51:37.080 回答