我想从 IntelliSense 成员列表中隐藏公共方法。我创建了一个属性,当将该属性应用于方法时,将导致在构造其对象时调用该方法。我这样做是为了更好地支持部分类。问题在于,在某些环境(例如 Silverlight)中,反射无法访问私有成员,甚至是子类的私有成员。这是一个问题,因为所有工作都是在基类中完成的。我必须公开这些方法,但我希望它们对 IntelliSense 隐藏,类似于Obsolete
属性作品。坦率地说,因为我对对象封装很感兴趣。我尝试过不同的方法,但实际上没有任何效果。该方法仍然显示在成员下拉列表中。
当我不希望客户端调用公共方法时,如何防止它们出现在 IntelliSense 中?怎么样?real问题来了,非利士人!这也适用于必须公开的 MEF 属性,尽管有时您希望对客户端隐藏它们。
Update:自从我发布这个问题以来,我作为一名开发人员已经成熟了。我不明白为什么我如此关心隐藏界面。
使用EditorBrowsable https://learn.microsoft.com/en-us/dotnet/api/system.componentmodel.editorbrowsableattribute像这样的属性将导致方法不显示在 IntelliSense 中:
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public void MyMethod()
{
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)