2017-03-09 89 views
0

这里是最简单的例子。如何通过Dart中的反射访问多个mixin?

class MixA{ 
} 

class MixB{ 
} 

class Base{ 
} 

class MyClass extends Base with MixA, MixB{ 
} 

main(){ 
    var m = new MyClass(); 
    reflect(m).superclass.mixin; //This only gives MixB. Is there a way to get a list of all the mixins? 
} 

我不能找到一种方法,只是让已应用于MyClass

回答

1

每个混入应用程序中的所有混入的列表中创建一个新的子类:

void main(){ 
    final m = new MyClass(); 
    final r = reflect(m); 
    print(r.type.superclass.mixin); 
    print(r.type.superclass.superclass.mixin); 
}