在Microsoft文档中,Control类的只读属性控件的声明如下:
[BrowsableAttribute(false)]
public Control.ControlCollection Controls { get; }
我继承了这个属性。隐藏它:
[EditorBrowsable(EditorBrowsableState.Never)]
[BrowsableAttribute(false)]
[ComVisible(false)]
public new Control.ControlCollection Controls { get; }
但这不会编译? 错误:'UserControl1.Controls.get'必须声明一个正文,因为它没有标记为abstract或extern。自动实现的属性必须定义get和set访问器。
所以我改变了它:
[EditorBrowsable(EditorBrowsableState.Never)]
[BrowsableAttribute(false)]
[ComVisible(false)]
public new Control.ControlCollection Controls {
get { return null; } }
哪个编译。但我需要一些属性功能,而不是完全取消它。 (我必须向这篇文章的早期受访者道歉,因为我在这里进行了大量的编辑。)(30秒内!!) 我必须改变我的剧本...所以我试试:
[EditorBrowsable(EditorBrowsableState.Never)]
[BrowsableAttribute(false)]
[ComVisible(false)]
public new Control.ControlCollection Controls { get; private set; }
这也不会编译:错误:' UserControl1.Controls.set'的可访问性修饰符访问者必须比财产或索引者更具限制性' UserControl1.Controls'
要做些什么?
答案 0 :(得分:1)
这就是我的建议。
[EditorBrowsable(EditorBrowsableState.Never)]
[BrowsableAttribute(false)]
[ComVisible(false)]
public new Control.ControlCollection Controls {
get { return base.Controls; } }