【发布时间】:2010-11-05 02:07:55
【问题描述】:
假设我有以下代码:
interface ISomeInterface
{
void DoSomething();
void A();
void B();
}
public abstract class ASomeAbstractImpl : ISomeInterface
{
public abstract void A();
public abstract void B();
public void DoSomething()
{
// code here
}
}
public class SomeImpl : ASomeAbstractImpl
{
public override void A()
{
// code
}
public override void B()
{
// code
}
}
问题是我希望将ASomeAbstractImpl.DoSomething() 方法密封(最终),因此没有其他类可以实现它。
由于代码现在是 SomeImpl 可以有一个名为 DoSomething() 的方法并且可以调用(它不会覆盖抽象类中具有相同名称的方法,因为它没有标记为虚拟),但我想切断在SomeImpl类中实现这种方法的可能性。
这可能吗?
【问题讨论】:
标签: c# inheritance interface abstract-class