Create an instance of an object from a String in Dart?

前端 未结 3 1465
爱一瞬间的悲伤
爱一瞬间的悲伤 2020-12-11 05:12

How would I do the Dart equivalent of this Java code?

Class c = Class.forName(\"mypackage.MyClass\");
Const         


        
3条回答
  •  谎友^
    谎友^ (楼主)
    2020-12-11 05:19

    Using built_mirrors you can do it next way:

    library my_lib;
    
    import 'package:built_mirrors/built_mirrors.dart';
    
    part 'my_lib.g.dart';
    
    @reflectable
    class MyClass {
    
      String myAttribute;
    
      MyClass(this.myAttribute);
    }
    
    main() {
      _initMirrors();
    
      ClassMirror cm = reflectType(MyClass);
    
      var o = cm.constructors[''](['MyAttributeValue']);
    
      print("o.myAttribute: ${o.myattribute}");
    }
    

提交回复
热议问题