使用飞镖中的镜像从 class 获取静态常量

Getting static constant from a class using mirrors in dart

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

的静态常量
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);
}

new Float32List() 是一个工厂构造函数,其中 returns 一个 _Float32Array 没有 BYTES_PER_ELEMENT.

print(reflect(array).type);

打印

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

打印

4

我很确定使用镜像无法找到从 _Float32Array 返回 Float32List 的方法。