Type {1} cannot be a base class for {0} because they are not the same sort of class. The base class and the derived class ...