【发布时间】:2013-12-17 02:28:10
【问题描述】:
来自 C# 背景,我想创建一个定义函数签名的数据类型。在 C# 中,这是一个 delegate 声明如下:
delegate void Greeter (string message);
public class Foo
{
public void SayHi (Greeter g) {
g("Hi!");
}
}
现在,我想在 Typescript 中实现类似的功能。我知道 Typescript 没有委托类型,而只有 lambdas。我想出了这样的事情:
class Foo {
SayHi (greeter: (msg: String) => void) {
greeter('Hi!');
}
}
虽然这可行,但我想多次重复使用方法签名(msg:String) => void,并认为创建自定义类型会更简洁——比如 C# 中的委托。
有什么想法可以做到这一点吗?
【问题讨论】:
标签: c# types lambda delegates typescript