Given the following classes:
ClassA { public ClassA DoSomethingAndReturnNewObject() {} } ClassB : ClassA {} ClassC : ClassA {}
I think that you need to create a new function with the new return type and call inside the other function, and manipulate the type returned. otherwise it will no be logical ! (with the definition/idea of inheritance)