Estoy luchando para descubrir si es posible en TypeScript declarar una matriz de funciones con tipado estático.Una serie de funciones escritas a máquina
Por ejemplo, yo puedo hacer esto:
foo: (data:string) => void = function (data) {};
Pero si quiero foo a 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 me gustaría tratar de englobar la función entre paréntesis.
¿Alguna idea?
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();
posible duplicado de [En TypeScript ¿cómo declaro una matriz de funciones que aceptan una cadena y devuelven una cadena?] (Http://stackoverflow.com/questions/12706161/in-typescript-how-do-i-declare -an-array-of-functions-that-accept-a-string-and-re) – Fenton