Have Base be abstract and not implementing XMethod and have the classes overriding XMethod should do it I guess?
public abstract class Base
{
public Base Common()
{
return this;
}
public abstract T XMethod();
}
public class XBase : Base
{
public override XBase XMethod()
{
return this;
}
}