2011-07-11 62 views
1

我有一個ICollectionView接口的擴展,允許我處理多選(IMultiSelectCollectionView)。我想提供一個與BindingListCollectionView兼容的實現,但該類是密封的。有人知道爲什麼做出這個設計決定嗎?爲什麼BindingListCollectionView是密封的?

+1

通常在某人依賴不能更改的類的實現細節時執行密封。最好的例子是.NET中的ImageList類,它是本地ImageList控件的一個包裝。除了包裝原生ImageList之外,您不能給ListView任何其他類型的ImageList,因爲ListView需要** Imagelist包裝原生控件。即使你想創建一個支持alpha混合PNG圖像的後代ImageList,你也不能使用它。所以BindingListCollectionView是封閉的,因爲有人依靠違反封裝。 –

回答

1

封閉類通常表示對派生類的保護措施,可能會顯着改變原始類的基本行爲。無論如何,我不知道封閉該課程的真正意義。

相關問題