作为一个C#的开发者,我希望创建一个定义函数签名的数据类型。在C#中,这个数据类型是使用delegate
声明的,如下所示:
delegate void Greeter (string message);
public class Foo
{
public void SayHi (Greeter g) {
g("Hi!");
}
}
现在,我希望在Typescript中实现类似的功能。我知道Typescript没有委托类型,只有lambda表达式。我想到了以下代码:
class Foo {
SayHi (greeter: (msg: String) => void) {
greeter('Hi!');
}
}
虽然这种方法可以工作,但我想重复使用方法签名 (msg:String) => void
几次,并认为创建自定义类型(如C#中的委托)会更清晰。
有什么想法吗?