考虑一个具有类似dict接口的注册表。每个键都是一个字符串名,每个值都是一个类。按以下顺序使用:
registry['foo'] = FooClass
cls = registry['foo']
instance = cls
但按照这个顺序,它当然不会:
cls = registry['foo']
registry['foo'] = FooClass
instance = cls()
为了支持第二个用例,Iimplemented a class constructor wrapper in a function但是它“变性”了类。我的意思是这行不通:
cls = registry['foo']
registry['foo'] = FooClass
issubclass(cls, FooClass)
我想支持第三种情况,所以我正在寻找一种更好的方法来代理类注册表项。你知道吗
有趣的问题,我会尝试这样的方法:
相关问题 更多 >
编程相关推荐