Flutter参数类型不匹配:同名Product类无法赋值问题
解决Dart中同名类类型不匹配问题
错误原因
这个错误是因为项目中导入了路径大小写不一致的Product类:一个来自C:\Study\kursova_bd\lib\logic\classes.dart,另一个来自C:\study\kursova_bd\lib\logic\classes.dart。虽然Windows文件系统不区分大小写,但Dart的导入机制是大小写敏感的,因此编译器会将这两个路径下的Product视为完全不同的类,导致参数类型不匹配。
解决方案
1. 统一所有导入路径的大小写
检查项目中所有导入Product类的文件,确保导入语句的路径完全一致:
- 比如统一使用全小写路径的导入语句:
import 'package:kursova_bd/lib/logic/classes.dart';
保证按钮所在文件和Processing类所在文件的导入语句完全相同,包括路径的大小写。
2. 清理项目缓存并重启IDE
IDE缓存可能残留旧的路径引用,执行以下步骤:
- 终端运行
flutter clean清理项目缓存 - 关闭并重启你的IDE(Android Studio/VS Code等)
- 重新构建项目
3. 排查重复类定义
确认项目中仅在lib\logic\classes.dart中定义了Product类,没有在其他文件中重复定义同名类。
内容的提问来源于stack exchange,提问作者Roman Shevchuk
相关产品推荐
相关产品推荐

