我可以继承ListViewItem甚至ListViewItem.ListViewSubItem,但我不能继承ListViewGroup。
为什么?
答案 0 :(得分:2)
ListViewGroup是密封的,因为您无法添加或更改其功能。该实现不会在ListViewGroup
中生效。
ListViewGroup是一个友好的本机Win32控件包装器。您不能下降希望添加功能的新类 - 该功能不在类中。
这与ImageList
被封存的原因相同。如果将图像列表分配给ListView
,则该图像列表必须是本机ImageList控件的包装器,这就是列表视图的方式。你不能从ImageList下载以支持alpha混合的PNG图像列表 - 它只是不起作用。
当封装不良时,类会被密封,并且下降没有意义,因为没有什么可以合法地改变。
答案 1 :(得分:0)
微软无法回答“它的设计”,许多类都是密封的,这使得开发变得非常困难,在某些情况下,我们使用Reflector了解类的系列是如何工作的,我们重新创建了自己的类扩展功能。其中一个是构建验证和错误模板,但是除了它的设计之外没有答案。