Estoy luchando para averiguar si es posible a máquina de escribir para declarar una matriz de tipos estáticos de funciones.
Por ejemplo, yo puedo hacer esto:
foo: (data:string) => void = function (data) {};
Pero si quiero Foo ser un conjunto de funciones que toman una cadena y nada a cambio, ¿cómo puedo hacer eso?
foo: (data:string) => void [] = [];
No funciona porque mecanografiado piensa que es una función que toma una cadena y devuelve una matriz de vacío, y no parece que les gusta de mí tratando de envolver la función entre paréntesis.
¿Algunas ideas?
Respuesta : Gracias a Mohamed a continuación, he aquí un ejemplo que funciona en el texto mecanografiado Zona de juegos:
class whatever {
public foo: { (data: string): void; }[] = [];
dofoo() {
for (var i=0; i < this.foo.length; i++) {
this.foo[i](test);
}
}
}
var d = new whatever();
d.foo.push(function(bar){alert(bar)})
d.foo.push(function(bar){alert(bar.length.toString())})
d.dofoo();













