2013-06-19 2 views

답변

5

다트 코드 :

ClassMirror c = reflectClass(MyClass); 
InstanceMirror im = c.newInstance(const Symbol(''), ['MyAttributeValue']); 
var o = im.reflectee; 

이 문서에서 자세한 내용은 : http://www.dartlang.org/articles/reflection-with-mirrors/

(길 라드 브라 차에서)

+1

둘 다 'first'및 'classes'속성이 더 이상 LibraryMirror에 없습니다 (저는 30188을 사용하고 있습니다). Dart v1로 어떻게 할 수 있습니까? – ringstaff

+1

감사합니다. 답변을 업데이트했습니다. –

0

built_mirrors 당신을 사용하여 다음 방법으로 할 수 있습니다.

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}"); 
} 
관련 문제