"But this is also why if you extend AType to BType you can't override function Create with different parameters..."
But what is why? I don't see anything that would preclude that.
If BType is an extension of AType, then there's no reason both of these couldn't work:
MyType:AType = Atype.Create(param1#, Param2)
MyType:BType = Btype.Create(param1:Blah)
But what is why? I don't see anything that would preclude that.
If BType is an extension of AType, then there's no reason both of these couldn't work:
MyType:AType = Atype.Create(param1#, Param2)
MyType:BType = Btype.Create(param1:Blah)