Полагаю, это тоже вопрос дизайна. Можно ли переопределить метод из интерфейса, если переопределенная подпись имеет другой тип подписи?
Например, допустим, я хочу два разных класса, которые должны иметь следующее:
interface IProtocolClient
{
void connect(Type1 t1, Type2 t2, Type3 t3);
}
Можно ли было бы задействовать интерфейс, но иметь другой набор параметров?
class A : IProtocolClient {
public void connect( Type1 t1, Type2 t2, Type3 t3 ) {}
}
class B : IProtocolClient {
public void connect( Type1 t1, Type2 t2, Type3 t3, Type4 t4 ) {}
}
Или мне следует подойти к этому, создав вместо этого базовый класс, а затем создать метод-оболочку в классе B, например:
class B : IProtocolClient {
public void connect( Type1 t1, Type2 t2, Type3 t3, Type4 t4)
{
// do what is needed with t4 to customize and then ...
connect(t1,t2,t3);
}
public void connect( Type1 t1, Type2 t2, Type3 t3) {}
}