我有一个继承自UserControl类的usercontrol。我想向使用该类的任何人隐藏一些项目。
我可以隐藏属性......
public partial class userControls_MyControl : System.Web.UI.UserControl {
private new bool EnableTheming {get; set;}
}
这有效地消除了它在编辑器的IntelliSense中的显示。
但是,当我对事件尝试相同的事情时,它们仍会出现......
public partial class userControls_MyControl : System.Web.UI.UserControl {
private new EventHandler AbortTransaction { get; set; }
private new EventHandler OnAbortTransaction {get;set;}
}
有没有办法真正隐藏一个事件?为什么上述不起作用?
提前致谢。
答案 0 :(得分:2)
您正在尝试隐藏不存在的属性。您需要使用事件语法: -
private new event EventHandler AbortTransaction;
您可能想要使用EditorBrowserable属性并将事件公开,不要。这可能意味着外部代码可能会尝试附加到您的控件上的AbortTransaction,但继承的控制代码将无法看到它。
答案 1 :(得分:1)
尝试将EditorBrowsableAttribute(false)
应用于您的活动:http://msdn.microsoft.com/en-us/library/system.componentmodel.editorbrowsableattribute.aspx