为什么选择器类是内部构造函数?

时间:2011-01-26 12:29:47

标签: silverlight silverlight-4.0 selector

我试图从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派生来实现我的目标,但我的问题是:

为什么选择器类是内部构造函数?

1 个答案:

答案 0 :(得分:0)

因为Selector类是abstract。你不能创建抽象类的实例,并且确保你甚至不能错误地(以常规方式)这样做的最简单方法是不使构造函数可用。

我没有在MSDN上看到构造函数的条目,但我敢打赌它可能是protected构造函数,而不是internal构造函数。

但是从我所看到的,没有什么能阻止你从Selector派生,并创建你的自定义实现。

修改 Reflector确实将构造函数显示为internal,因此没有派生......