Sto cercando la possibilità di passare un metodo di classe a una funzione che quindi può eseguire quella funzione su un'istanza di quella classe. Qualcosa del genere pseudocodice: (si noti che questo è un esempio astratto)Passare il metodo di classe come parametro nel dattiloscritto
class Foo {
public somefunc() {
// do some
}
public anyfunc() {
// do any
}
}
function bar(obj: Foo ,func: "Foo.method") { // "that's what im looking for"
obj.func();
}
bar(new Foo(), Foo.somefunc); // do some
bar(new Foo(), Foo.anyfunc); // do any
C'è un possiblity per fare questo?
So che avrei potuto fare qualcosa di simile:
class Foo {
static somefunc(fooObj: Foo) {
// do some
}
static anyfunc(fooObj: Foo) {
// do any
}
}
interface func {
(fooObj: Foo);
}
function bar(obj: Foo, fn: func) {
fn(obj);
}
bar(new Foo(), Foo.somefunc); // do some
bar(new Foo(), Foo.anyfunc); // do any
ma che coinvolge funzioni statiche, che non voglio.
Sì che avrebbe funzionato, ma non vorrei ottenere il beneficio di dattiloscritto controllando che 'someFunc()' sia effettivamente definito su 'Foo'. – xDreamCoding