У меня есть интерфейс следующим образом
public interface IX
{
void MethodA();
void MethodB();
}
У меня есть два контракта метода в интерфейсе MethodA и MethodB. Я определю набор классов, которые реализуют вышеупомянутый интерфейс. Из этих двух методов MethodA характерен для всех типов, которые реализуют интерфейс. Я могу определить абстрактный класс следующим образом
public abstract class XBase:IX
{
public void MethodA()
{
// Common behaviour implementation
}
public abstract void MethodB();
}
И наследуйте этот класс ко всем типам, которые должны реализовать вышеупомянутый интерфейс.Работает.
Но здесь в абстрактном классе я добавляю, что 'общедоступный краткий обзор освобождает MethodB ()';. это похоже на повторение контракта MethodB.
Почему C# не разрешает частичную интерфейсную реализацию, если класс абстрактен?. Вышеупомянутый интерфейс имеет только два метода. предположите, что один интерфейс имеет 10 методов, и 5 общая функциональность, и 5 не, мы вынуждены добавить 5 методик, которые не являются общепринятыми в абстрактном классе?