Использование базового класса и базового интерфейса в C#

toughQuestions спросил: 11 марта 2019 в 07:35 в: c#

Я изменяю всю систему, которая не использует базовые классы и базовые интерфейсы.

Моя идея - извлечь все распространенные методы из базовых классов и базовых интерфейсов.
Итак в основном у нас будет:

  • базовый класс SomeClassBase, реализующий интерфейс ISomeClassBase

  • Производный класс SomeClassDerived, реализующий ISomeClassDerived (этот интерфейс является производным от ISomeClassBase)

Теперь проблема в том, как я могу создать экземпляр"_mySession" в производном классе (который имеет другое приведение, чем в базовом классе), сохранив при этом все методы из базового класса:

public class SomeClassBase : ISomeClassBase 
{
 public IMySessionBase _mySession = MySession.Instance(); public SomeClassBase ()
 {
   _mySession.connect();  // Needed??
 } public void doSomething()
 {
  _mySession.doSomething();
 }
}public class SomeClassDerived : SomeClassBase, ISomeClassDerived  
{
 public IMySessionDerived _mySession = MySession.Instance(); public SomeClassDerived ()
 {
  _mySession.connect();
 } public void doSomethingElse()
 {    
  _mySession.doSomethingElse();
 }
}

Еще одна вещь, реализует IMySessionDerived.

0 ответов