Предположим, мне нужно наследовать от двух классов в C # .Это недопустимо, поэтому я могу делать следующее: наследовать от одного из классов и включать другой класс в качестве переменной-члена, наследовать от его интерфейсов и переопределять все методы этих интерфейсов, перенаправляя их на эту переменную-член:
interface SecondBaseInterface {
void FirstMethod();
void SecondMethod();
};
class MyClass : FirstBaseClass, SecondBaseInterface {
public void FirstMethod()
{
secondBase.FirstMethod();
}
public void SecondMethod()
{
secondBase.SecondMethod();
}
SecondBaseClass secondBase = new SecondBaseClass();
};
теперь это работает, но если в SecondBaseInterface
много методов, то потребуется много типизации кода, который на самом деле ничего не дает, и мне придется поддерживать этот код в случае изменения SecondBaseInterface
.
Есть ли какая-либо особенность C #, которая сообщала бы компилятору "обо всех методах SecondBaseInterface
, пожалуйста, вызовите соответствующие методы этой переменной-члена" или какой-либо другой удобный способ сделать такое массовое перенаправление?