Je voudrais définir une fonction via un typedef et en passant le bon type lors de l'appel. Quelque chose comme ceci:Dart: typedef avec les génériques ne semble pas fonctionner
typedef testFn<T>();
main() {
testFn tester;
tester = testerFn;
tester<int>(); // Error: The method '() → dynamic' is declared with 0 type parameters, but 1 type arguments were given.
}
testerFn<T>() {//Do something}
Je ne sais pas si ce un bug ou non, mais, de toute façon, comment je pourrais-je résoudre quelque chose comme ça?
Merci Jonas. J'ai fait une petite modification: 'typedef testFn (valeur T); classe TestF { test finalFn _f; const TestF (test finalFn this._f); eval (valeur T) => _f (valeur); } testerFn (valeur T) { print ('testFn! $ {Value.toString()}'); } main() { TestF c = const TestF (testerFn); c.eval (9); } ' Mon but était d'éviter la possibilité de transmettre une mauvaise variable à la fonction. Maintenant, si je change le code à 'c.eval ('pas OK'),' j'obtiens une erreur. Donc, votre solution fonctionne! –
Génial. Cette solution n'est pas évidente, mais j'avais un problème familier comme vous voyez :-) Stackoverflow a un système pour marquer les questions résolues. À gauche de la réponse, il y a une coche, vous pouvez marquer si vous la considérez comme résolue. –
Jonas, penses-tu que le problème que j'ai écrit est un bug Dart ou est-ce moi qui manque quelque chose? –