我试图从Selector类派生,因为我需要与ListBox类似的功能,但它不是ListBox。 我看了一下Selector类的签名,它是(http://msdn.microsoft.com/en-us/library/system.windows.controls.primitives.selector(v=vs.95).aspx)
public abstract class Selector : ItemsControl,
ISupportInitialize
但问题是构造函数是内部的。所以不可能从程序集外部的这个类派生(ListBox和ComboBox在这个程序集中)。
我现在从ListBox派生来实现我的目标,但我的问题是:
为什么选择器类是内部构造函数?
答案 0 :(得分:0)
因为Selector
类是abstract
。你不能创建抽象类的实例,并且确保你甚至不能错误地(以常规方式)这样做的最简单方法是不使构造函数可用。
我没有在MSDN上看到构造函数的条目,但我敢打赌它可能是protected
构造函数,而不是internal
构造函数。
但是从我所看到的,没有什么能阻止你从Selector
派生,并创建你的自定义实现。
修改强>
Reflector确实将构造函数显示为internal
,因此没有派生......