1 ŞUBAT 2013, Cuma
Türü kesin olarak belirtilmiş olan parametre olarak işlev mümkün TypeScript?
TypeScript yazın bir Fonksiyonu gibi bir fonksiyon bir parametre olarak ilan edebilirim. Orada bir "yol kaçırıyorum?" türü-güvenli Örneğin, bu göz önünde bulundurun:
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);
Kaydet geri arama türü güvenli değil, işlev parametre bir dize olduğu bir geri çağırma işlevi veriyorum ama bir dizi geçen ve hatasız derler ediyorum. Tip-güvenli bir işlevi kaydetmek sonuç parametresi yapabilir miyim?
tl;dr versiyonu: bir karşılığı vardır .TypeScript NET temsilci?
CEVAP
1 ŞUBAT 2013, Cuma
Emin:
class Foo {
save(callback: (n: number) => any) : void {
callback(42);
}
}
var foo = new Foo();
var strCallback = (result: string) : void => {
alert(result);
}
var numCallback = (result: number) : void => {
alert(result.toString());
}
foo.save(strCallback); // not OK
foo.save(numCallback); // OK
Eğer isterseniz, bir arayüz bu saklanması yapabilirsiniz:
interface NumberCallback {
(n: number): any;
}
class Foo {
// Equivalent
save(callback: NumberCallback) : void {
callback(42);
}
}
Bunu Paylaş:
Nasıl C parametre olarak bir işlev geç...
Genel bir parametre olarak yazın mümkü...
Türü kesin belirlenmiş bir dil ve bir ...
Geçen anahtar kelime python parametre ...
Oluşturulmuş Bir Sistem Başarılı.Bir Y...