我正在尝试使用镜像获取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);
}
答案 0 :(得分:2)
new Float32List()
是一个工厂构造函数,它返回_Float32Array
,但没有BYTES_PER_ELEMENT
。
print(reflect(array).type);
打印
ClassMirror on '_Float32Array'
var bytesPerElement =
reflectClass(Float32List)
.getField(#BYTES_PER_ELEMENT)
.reflectee;
打印
4
我非常确定无法使用镜像找到从_Float32Array
返回Float32List
的方法。