Poszukuję możliwości przekazania metody klasy do funkcji, która następnie może wykonać tę funkcję na instancji tej klasy. coś w tym Pseudokod: (należy pamiętać, że jest to abstrakcyjny przykład)Przekazywanie metody klasy jako parametru w maszynopisie
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
Czy istnieje możliwośc to zrobić?
wiem, mogę robić coś takiego:
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
ale wiąże statycznych funkcji, które nie chcę.
Tak, że będzie działać, ale nie uzyskać korzyści z maszynopisu sprawdzenie, czy 'someFunc()' jest faktycznie zdefiniowany w 'Foo'. – xDreamCoding