Могу ли я оставить абстрактный класс, реализующий интерфейсы, пустым и подразумевать, что все методы / свойства в интерфейсе являются абстрактными внутри моего класса. Похоже, что мне придется снова записать их в абстрактном классе, но я действительно хочу избежать этого дублирования.
Моя причина в том, что у меня есть несколько интерфейсов с разными аксессорами, один открытый и один внутренний, которые я хочу принести вместе, поэтому у меня есть абстрактный класс, реализующий их оба, которые затем можно расширить.
public interface ISomePublicProperties {
int PropertyOne {get;}
}
internal interface ISomeInternalProperties {
int PropertyTwo {get;}
}
public abstract class SomeClass : ISomePublicProperties, ISomeInternalProperties {}
Но компилятор жалуется, что SomeClass не реализует интерфейсный метод ISomePublicProperties.PropertyOne и ISomeInternalProperties.PropertyTwo
Есть ли вообще в C # (я знаю, что Java позволяет это), что я могу оставить абстрактный класс пустым, реализующим интерфейсы?