隐藏Window类的继承成员(或任何其他一般的)

时间:2016-09-21 08:40:39

标签: c# wpf inheritance window

我有自己的窗口,我有自己的ShowDialog方法。现在我想隐藏继承的override方法。由于我的方法与继承的方法不同(它返回字符串并接受另外两个字符串作为参数),因此无法使用MyWindow.ShowDialog();。隐藏Intellisense是不够的,我希望Intellisense在尝试使用MyWindow.ShowDialog("string1", "string2");打开窗口时向其他程序员显示不存在的方法的错误,他们应该严格使用$.ajax({ url:"getuser.php", type:"GET", data:{ id2: name2,id:<?php $_GET['id']; ?> }, success:function(data){ $("#detail").html(data); } }); 。怎么能实现这一目标?或者你有其他一些想法,因为其原因是其他程序员在编译之前就知道我的窗口是如何使用的,从而节省了一些时间。

1 个答案:

答案 0 :(得分:1)

如果您希望开发人员使用但警告他们使用方法折旧使用ObsoleteAttribute属性。如果您想隐藏方法,请使用EditorBrowsable属性。

[ObsoleteAttribute("you cannot use this method use ShowDialog(string,string) instead", true)] 
new public void ShowDialog()
{
     base.ShowDialog();
}

[ObsoleteAttribute("Depreciated, use ShowDialog(string,string) instead", false)] 
new public void ShowDialog()
{
     base.ShowDialog();
}

[EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
new public void ShowDialog()
{
    base.ShowDialog();
}