Saltar al contenido

Flutter: cómo crear una instancia de un objeto a partir de un tipo

Solución:

No puede crear una instancia de una clase a partir de un Type objeto que representa la clase, al menos no sin espejos (y ni Flutter ni la plataforma web admiten espejos).

No puede arrancar un constructor (sin embargo, espero que agreguemos esa característica en algún momento), por lo que la opción de crear una función auxiliar estática que llame al constructor y pasar la función auxiliar es la mejor solución actual.

Si conoce la cantidad de argumentos requeridos por dicha función, no necesita usar Function.apply, puedes llamarlo directamente.

Puede eliminar una función si no agrega los paréntesis (). No necesitas dart:mirror.

void main() {
  // Tear off a global function
  Function myFunction = MyClass.someStaticFunction;

  // Call it statically
  myFunction('arg');

  // Call it dynamically
  Function.apply(myFunction, ['arg']);

  // Tear it off with a precise Function Type
  void Function(String) myFunction2 = MyClass.someStaticFunction;
}

class MyClass {
  static void someStaticFunction(String someArg) {
    print('someStaticFunction $someArg');
  }
}
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *