假设我有一些以泛型类型为参数的函数.如何在该函数中判断泛型类型参数是否可以为空?我想做这样的事情:
void func<T>() {
print(T is nullable);
}
void main(){
func<int>(); //prints false
func<int?>(); //prints true
}
我能想到的唯一办法就是判断T.toString()
是否以?
结尾,这很让人毛骨悚然.
假设我有一些以泛型类型为参数的函数.如何在该函数中判断泛型类型参数是否可以为空?我想做这样的事情:
void func<T>() {
print(T is nullable);
}
void main(){
func<int>(); //prints false
func<int?>(); //prints true
}
我能想到的唯一办法就是判断T.toString()
是否以?
结尾,这很让人毛骨悚然.
try :
bool isNullable<T>() => null is T;