В TypeScript я могу объявить параметр функции как тип Function. Есть ли "безопасный для типов" способ сделать это, что мне не хватает? Например, рассмотрим это:
class Foo {
save(callback: Function) : void {
//Do the save
var result : number = 42; //We get a number from the save operation
//Can I at compile-time ensure the callback accepts a single parameter of type number somehow?
callback(result);
}
}
var foo = new Foo();
var callback = (result: string) : void => {
alert(result);
}
foo.save(callback);
Функция обратного вызова save не является безопасной для типов, я даю ей функцию обратного вызова, где параметр функции является строкой, но я передаю ей число и компилирую без ошибок. Можно ли сделать параметр результата в функции сохранения типа безопасной?
TL; версия DR: есть ли в TypeScript эквивалент делегата .NET?