2012-10-04 26 views
2

我想了解WinRT的一些更低級別的部分是如何工作的。我遇到了ComposableAttribute這可能是我需要的關鍵。但是,documentation就很薄。WinRT中的ComposableAttribute是什麼?

指示如何編寫編程元素。

正如你所看到的,那實際上並沒有告訴我任何東西。有誰知道這個屬性用於什麼以及它應該做什麼?

回答

3

ComposableAttribute將一個類型標記爲可作爲跨Windows Runtime ABI邊界的基類實例化的類型。它類似於ActivatableAttribute,它將類型標記爲可跨ABI邊界「激活」(即直接使用,而不是用作基類)的實例化。 Windows運行時基於COM,並不真正支持真正的繼承。相反,繼承是通過元數據欺騙和aggregation僞造的。

您可以定義自己的可組合類型,但是如果這樣做,它們必須從平臺中的可組合類型派生(這是Windows 8 app certification requirements中的元數據規則之一)。對於Windows 8,這意味着您的可組合類型必須直接或間接從Windows.UI.Xaml.DependencyObject「派生」。最後,可組合類型只能使用IDL和WRL編寫; C++/CX和.NET都不能用於定義可組合類型。

相關問題