我有以下继承:
class A
{
void Configure(object param1) {...};
}
class B : A
{
void Configure(object param1) {...}; // The method is not defined in B, it is available from the base class. This is just the desired interface of class B
}
class C : A
{
void Configure(object param1, object param2) {...};
}
我不希望 C 类有一个带 param1 的配置可见,因为在这种情况下它会使对象不完整。
我尝试覆盖,但覆盖不能改变可见性。
我发现的唯一方法是调用 A 类方法protected void ConfigureBase(object param1) {...};
并使 B 类的方法 Configure 调用 ConfigureBase。
由于我对这种设计并不完全满意,因为它让我重新定义了每个类 Configure 是否有标准的方法来处理这个?