classstaticdartdart-mirrors

in Dart, problems with static method when called from variable


have class Klass with static method fn1

class Klass {
  static String fn1() => 'hello';
}

> Klass.fn1(); //  hello

but when Klass is assigned to a variable, calling the method fn1 fails

var k = Klass;

> k.fn1() // "Unhandled exception: Class '_Type' has no instance method 'fn1'.

don't quite know what's going on here


Solution

  • A simple workaround

    class Klass {
      static fn1(String name) {
        return name;
      }
      
      fn1NonStatic(String name) {
        return fn1(name);
      }
    }
    
    Klass().fn1NonStatic("test");