【发布时间】:2014-05-09 10:53:23
【问题描述】:
我有以下结构:
public class Foo : FooBaseNamespace.FooBase
{
public Foo()
{
Register("abc");
}
}
public class FooBase : IFoo
{
public FooBase()
{
}
public void Register(string id)
{
}
}
public interface IFoo
{
void Register(string id);
}
请注意,FooBase 和 IFoo 位于命名空间 FooNamespace,但 Foo 位于不同的命名空间中,但可以访问 FooNameSpace。
我的问题是,我可以调整代码以使方法 Register(string id) 对派生自 FooBase 的任何类隐藏吗?
谢谢
【问题讨论】:
-
@Sayse,如果方法是接口实现,怎么办?
-
@Sayse 这并没有改变接口实现将是
public并因此可以访问的事实。我不认为覆盖是问题.. -
正是为什么我没有将其发布为答案,我不在带有视觉工作室的机器上并且无法检查它..只是指向一个方向。我阅读问题的方式是尝试阻止
FooBase的继承类覆盖该方法
标签: c# interface derived-class base-class method-hiding