有没有一种方法可以提示对象实现了两个不同的接口?也许类似于下面的伪造my_function
示例。
class SomeLibraryClass(InterfaceA, InterfaceB):
...
def my_function(obj: Multiple[InterfaceA, InterfaceB]):
obj.do_interface_a_stuff()
obj.do_interface_b_stuff()
我无法修改SomeLibraryClass
。我可以定义class AB(InterfaceA, InterfaceB)
,但是我使用的类型检查工具仍会将SomeLibraryClass
标记为未实现AB
。此解决方案还导致定义了我们要键入提示的接口的所有组合的类的激增。 (也许这是做事的“正确方法”,在这种情况下,这就是答案!)