Этот вопрос не о наследстве двух классов.
Этот вопрос о наследстве одного из двух классов. Один или другой. очень похожи, но они не наследуют друг друга (они оба наследуют ExternalBaseClass )
По причинам, которые я не могу избежать, мне нужно вывести и использовать оба класса A и B. Так что в основном:
Код: Выделить всё
public class MyClassA : ExternalA
{
protected void MyCommonMethods(){...}
}
public class MyClassB : ExternalB
{
protected void MyCommonMethods(){...}
}
< /code>
Но обе реализации имеют много методов, и я хотел бы «не копировать» эти методы. (Не оба вместе, один или другой.) < /P>
Если бы следующее было возможным, это в значительной степени решило бы: < /p>
public class MyClass : T where T : ExternalBaseClass
< /code>
Но это невозможно.public class MyClassA : ExternalA, IExternal
{
...
}
public class MyClassB : ExternalB, IExternal
{
...
}
public static class CommonMethods
{
public static MyCommonMethods(IExternal instance)
}
Есть решение для этого случая?
Подробнее здесь: https://stackoverflow.com/questions/796 ... or-another