E valueToEnum<E>( dynamic value, List<E> enumValues, ) => enumValues.firstWhere( (E element) => describeEnum(element!) == '$value', orElse: () => null, );
我已经将?添加到顶行的E中,值也设置为“",但仍然没有运气。!. added也会在调用此函数时引发错误
gwbalxhn1#
orElse取决于enumValues数据类型。你能做到
orElse
enumValues
E? valueToEnum<E>( dynamic value, List<E?> enumValues, ) => enumValues.firstWhere( (E? element) => ...., orElse: () => null, );
我想我选择了try-catch而不是使其成为可空的list-datetype。
E? valueToEnum<E>( dynamic value, List<E> enumValues, ) { try { final foundValue = enumValues.firstWhere( (E? element) => describeEnum(element!) == '$value', ); return foundValue; } catch (e) {} }
1条答案
按热度按时间gwbalxhn1#
orElse
取决于enumValues
数据类型。你能做到
我想我选择了try-catch而不是使其成为可空的list-datetype。