【问题标题】:Getting static constant from a class using mirrors in dart使用 dart 中的镜像从类中获取静态常量
【发布时间】:2015-04-22 22:32:48
【问题描述】:

我正在尝试使用镜像在 Float32List(和其他类型化的数据数组)中获取 BYTES_PER_ELEMENT 常量,但我得到的只是 No static getter 'BYTES_PER_ELEMENT' declared in class 'Float32List'. 异常,所以更一般地说,我如何访问静态常量上课?

import 'dart:typed_data';
import 'dart:mirrors';

main() {
  var array = new Float32List(10);

  var bytesPerElement = reflect(array).type.getField(#BYTES_PER_ELEMENT).reflectee;

  print(bytesPerElement);
}

【问题讨论】:

    标签: dart dart-mirrors


    【解决方案1】:

    new Float32List() 是一个工厂构造函数,它返回一个没有BYTES_PER_ELEMENT_Float32Array

    print(reflect(array).type);
    

    打印

    ClassMirror on '_Float32Array'
    
    var bytesPerElement = 
        reflectClass(Float32List)
        .getField(#BYTES_PER_ELEMENT)
        .reflectee;
    

    打印

    4
    

    我很确定不可能找到使用镜子从_Float32Array 回到Float32List 的方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-04-15
      • 2021-04-20
      • 2014-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-09
      相关资源
      最近更新 更多