Dart - 如何在没有元素的情况下获取 Iterable 元素的 `runtimeType`?

Dart - How to get the `runtimeType` of the elements of Iterable without elements?

我如何知道 Iterable 应该 accept 的元素的 runtimeType 什么时候没有元素?

到目前为止,这是我徒劳的想象力产生的结果:

extension MyUglyAndInelegantIterableExtensions on Iterable {
  Type get valueType => 
    this.isNotEmpty ? this.first.runtimeType : dynamic;
}

void main() {
  print('${<int>[1].valueType}');
  print('${<int>[].valueType}');
}

谢谢

extension MyElegantIterableExtensions<T> on Iterable<T> {
  Type get valueType => T;
}