防止静态成员的继承
本文关键字:继承 静态成员 | 更新日期: 2023-09-27 18:17:55
Base:
public abstract class systemClient : IDisposable
{
public static List<systemClient> Collection = new List<systemClient>();
[...]
}
派生类
public class station : systemClient
{
[...]
}
在此设置中,我可以访问station.Collection
.
问题是:有没有办法隐藏 station.Collection
?
你不能。通过将inhClass
创建为baseClass
inhClass
的子类,必须提供baseClass
提供的一切。否则baseClass x = new inhClass()
无效。
在此特定情况下,尽管已将方法设置为静态,但这意味着它实际上没有自己的方法副本。 inhClass
只是访问baseClass
中的静态。
我同意Tim B的回答。您不能简单地"忽略"您继承的类的某些方法或属性。但是,您可以做的是实现一个接口,该接口可以完成您想要的工作。如需进一步阅读,请查看此处。