我正在寻找一些有效隐藏继承成员的方法。我有一个继承自公共(public)基类的类库。一些最近的后代类继承了依赖属性,这些属性已经过时,在使用 IntelliSense 或在可视化设计器中使用这些类时可能会有点困惑。
这些类都是为 WPF 或 Silverlight 2.0 编写的编译控件。我知道 ICustomTypeDescriptor
和 ICustomPropertyProvider
,但我很确定它们不能在 Silverlight 中使用。
与其说是功能问题不如说是可用性问题。我该怎么办?
更新
我真正想隐藏的一些属性来自不属于我自己的祖先,并且由于我正在设计的特定工具,我无法使用 new
隐藏成员> 运营商。 (我知道,这很荒谬)
最佳答案
像迈克尔建议的那样覆盖它们 above并防止人们使用重写的(sp?)方法,将它们标记为已过时:
[Obsolete("These are not supported in this class.", true)]
public override void dontcallmeanymore()
{
}
如果第二个参数设置为真,如果有人试图调用该方法并且第一个参数中的字符串是消息,则会生成编译器错误。如果 parm2 为 false,则只会生成编译器警告。
关于c# - 隐藏继承成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1528/