我正在编写一个 WebPart,这意味着我继承自 System.Web.UI.WebControls.WebParts.WebPart
并且我覆盖了方法 protected override void CreateChildControls()
.
但是,如果可能的话,我想让类密封
,但这会带来两个问题:密封类会发出警告“新的 protected 成员在密封类中声明”。
将访问修饰符从 protected
更改为 private
或 internal
会出现编译器错误,告诉我继承时无法更改修饰符。
这让我想知道:密封它并忽略警告有什么问题吗?或者这会在未来导致任何负面影响吗?它似乎工作得很好,但问题往往出在细节上。
编辑:我只是在装傻。 “新 protected 成员”错误是针对确实未被覆盖的函数,只是意外地被声明为 protected
。不过还是感谢 Pragma-Tip!
最佳答案
protected 成员可以被子类看到,所以你稍微改变了类的接口(interface);如果您将其声明为“私有(private)”,则它只会在本地可见,因此不会影响界面。
声明您的方法私有(private)不 protected ,警告应该消失。
关于c# - 密封类中的 protected 成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/495004/