avoid_type_to_string
Using 'toString' on a 'Type' is not safe in production code.
Description
#The analyzer produces this diagnostic when the method toString
is
invoked on a value whose static type is Type
.
Example
#The following code produces this diagnostic because the method toString
is invoked on the Type
returned by runtimeType
:
dart
bool isC(Object o) => o.runtimeType.toString() == 'C';
class C {}
Common fixes
#If it's essential that the type is exactly the same, then use an explicit comparison:
dart
bool isC(Object o) => o.runtimeType == C;
class C {}
If it's alright for instances of subtypes of the type to return true
,
then use a type check:
dart
bool isC(Object o) => o is C;
class C {}
除非另有说明,文档之所提及适用于 Dart 3.7.3 版本,本页面最后更新时间: 2025-05-08。 查看文档源码 或者 报告页面问题。