如何在 Dart NNBD 中检查泛型类型是否可为空?

Jon*_*ird 9 dart

假设我有一些将泛型类型作为参数的函数。如何在该函数中检查泛型类型参数是否可为空?我想做这样的事情:

void func<T>() {
  print(T is nullable);
}

void main(){
  func<int>(); //prints false
  func<int?>(); //prints true
}
Run Code Online (Sandbox Code Playgroud)

我能想到的就是检查是否T.toString()?非常hacky 的结尾。

lrn*_*lrn 10

尝试:

bool isNullable<T>() => null is T;
Run Code Online (Sandbox Code Playgroud)