TypeError: Une erreur lors de l'appel des bases de métaclasse une classe de nouveau style ne peut pas avoir que des bases classiques

Une collection de classes définies comme suit:

class A():
    @staticmethod
    def call():
        print('a')

class C(type):
    def __repr__(self):
        return 'somename'

class B(A):
    __metaclass__ = C

    @staticmethod
    def call():
        print('b')

    def boundcall(self):
        print('bound')

Lorsque vous exécutez, donne cette erreur:

TypeError: Error when calling the metaclass bases
    a new-style class can't have only classic bases

J'ai besoin de la métaclasse (je crois) pour une représentation de chaîne de B dans mon code. Raison d'être qui est à côté de la question mais il va grandement aider avec les futures mises à jour.

Donc, en supposant que j'ai besoin de C à la métaclasse de B et B est une sous-classe d'Une quelqu'un peut me dire ce qui ne va pas et comment je pourrais changer ce que je fais pour supprimer l'erreur?

source d'informationauteur rutherford