我如何创建"类型"可赎回的?

时间:2018-03-28 00:23:09

标签: c# python-3.x typescript types

是否有像下面那样创建Callable类型的Pythonic方法(TypeScript和C#示例)?

打字稿:

export type MyHandler = (paramOne: ClassOne, num: int) => null;

C#:

public delegate void MyHandler(ClassOne paramOne, int num);

的Python:

MyHandler = Callable[[ClassOne, int], None]  # No lint errors...

虽然我在PyCharm中没有得到任何lint错误;由于 -Pythonic的感觉,我还没有打扰我的代码片段。如果这将是我自己的私人消费代码,我不认为我会打扰创建这种类型,但它会成为库的一部分,所以我觉得更有义务创建类型。

在使用中,此类型将显示为:

class SomeClass(ProbablyAnABC):
    # __init__ where self._handlers is created

    def register_handler(self, handler: MyHandler) -> None:
        self._handlers.append(handler)

0 个答案:

没有答案