Исходя из фона С#, я хочу создать тип данных, который определяет подпись функции. В С# это delegate
объявлено следующим образом:
delegate void Greeter (string message);
public class Foo
{
public void SayHi (Greeter g) {
g("Hi!");
}
}
Теперь я хочу добиться аналогичного в Typescript. Я знаю, что Typescript не имеет типов делегатов, а только лямбда. Я придумал что-то вроде этого:
class Foo {
SayHi (greeter: (msg: String) => void) {
greeter('Hi!');
}
}
Пока это работает, я хочу повторно использовать подпись метода (msg:String) => void
пару раз и думаю, что было бы проще создать собственный тип - как делегат в С#.
Любые идеи, как это можно сделать?