创建一个动态类,该类继承该类

emihir0

当我尝试从父类中创建一个类,以使子类继承“ self”时,出现以下错误:

TypeError: Error when calling the metaclass bases metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases

class A(object):
    create_proxy = False

    def __init__(self, *args, **kwargs):
        super(A, self).__init__(*args, **kwargs)
        if self.create_proxy:    
            class Proxy(SomeMixin, self):
                pass

            [...]

我确信这是有可能的。有什么建议么?

阿比吉斯·阿苏坎

进行以下更改

...
if self.create_proxy:    
    class Proxy(SomeMixin, A): #use class name instead of self
        pass
...

还要确保它SomeMixin是的子类object,否则将导致它的元类冲突。

class SomeMixin(object):
    pass


class A(object):
    create_proxy = True #False
    def __init__(self, *args, **kwargs):
        super(A, self).__init__(*args, **kwargs)
        if self.create_proxy:    
            class Proxy(SomeMixin, A):
                pass

a = A() #test

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

继承另一个类的类是否继承该类继承的类/接口?

继承一个类,该类继承了另一个已经包含的类

创建一个类然后测试该类

在另一个类中创建该类的实例

如何创建一个类,该类是C ++中另一个类的向量?

具有来自继承的抽象类的值的构造函数,该类实现一个接口

创建一个类,该类通过读取多个CSV文件来创建字典-Python

在Scala中基于该类名称动态实例化一个类

创建一个自定义ValidationAttribute类,该类返回多个错误消息

Swift:创建一个将类类型作为参数的工厂函数,并输出该类的构造函数

在该类中创建一个类的实例是标准做法吗?

在该类的静态方法中创建一个类的实例是否干净?

我如何创建一个接收类的接口,而不是在Typescript中接收该类的实例的接口

使用Factory创建一个类,该类将在另一个类中使用

包装一个类,其方法返回该类的实例

如何定义一个方法,以便返回当前类的实例,而不是返回在Python中继承该类的实例的实例?

为什么要创建一个只有一个成员的类,该类就是operator()?

我如何创建一个Ruby类,该类在传递一个块时会初始化并关闭?

当在Python中创建一个类并使用引用该类的对象时,您将如何在该类中使用该对象的名称?

谁能解释一下这段代码如何创建一个实现接口并实例化该类的类?

如何创建一个类,该类将计算圆的面积和周长并使用Eclipse发送结果?

在活动中创建一个名称为Category的类,我想在Android的主活动中调用该类的对象

WPF-是否可以创建一个共享的基本窗口类,该类既无色又可调整大小?

创建一个数据分析器类,该类将 init 上的参数作为数据列表

接口-注册类继承接口以基于该类创建对象

如何将一个类作为参数,并基于该类将其添加到该类的数组列表中

如何创建一个返回类型的类型,该类型接受该类型的字符串或字符串 [] 的路径?

如何启动一个Activity并使用另一个类调用该类的方法

查找没有该类的第一个div,然后添加一个类