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);
保存コールバックはタイプセーフではありません。関数のパラメーターが文字列であるコールバック関数を指定していますが、数値を渡しているため、エラーなしでコンパイルされます。タイプセーフな関数を保存する際に結果パラメータを作成できますか?
TL;DR バージョン: TypeScript に .NET デリゲートに相当するものはありますか?