Может ли как-то метод из базового класса вернуть дочерний класс?

приведу пример, чтобы вы могли лучше понять, что я имею в виду:

public class Base
{
      public Base Common()
      {
          return this;
      }
}

public class XBase : Base
{

     public XBase XMethod()
     {
          return this;
     }
}

Я хочу быть в состоянии сделать что-то вроде:

var a = new XBase().Common().XMethod();

но это невозможно какCommon() возвращаетсяBase, а такжеXMethod() не определен в.Base

Есть ли какой-нибудь возможный способ сделать это?

я спрашиваю, потому что у меня естьBaseComponentи много другогоComponents которые наследуют этот класс, и я должен объявить общие методы в каждом из них, просто чтобы вызватьbase.Method() внутри.

Спасибо за вашу помощь.

PS: без использования дженериков и указания ребенка »тип s:

var a = new XBase().Common().XMethod();

Ответы на вопрос(2)

Ваш ответ на вопрос