Может ли как-то метод из базового класса вернуть дочерний класс?
приведу пример, чтобы вы могли лучше понять, что я имею в виду:
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();