未处理的异常:类型"A"不是"x"类型"A"的子类型,其中A来自

fil*_*iph 4 dart

我得到一个运行时错误,其内容如下:

Unhandled exception:
type 'A' is not a subtype of type 'A' of 'x' where
  A is from file:///path/to/source/a.dart
  A is from package:my_package/a.dart
Run Code Online (Sandbox Code Playgroud)

A一种完全相同的类型A - 没有命名冲突.

两条缩进行('A来自......')仅在指定路径方面有所不同.一个通过'package:',第二个是文件系统上的文件路径.

fil*_*iph 7

TL; DR:

import 'package:...'即使从您自己的包中导入文件,也可以随处使用.

说明:

两个URL(file:///...package:...)是等价的,但Dart无法知道这一点.当您通过相对路径和package:方案导入源时,您将收到此错误.

要解决此问题,请确保在您自己的包中导入文件的方式保持一致.

错误:

在文件foo.dart中:

import '../path/to/a.dart';
Run Code Online (Sandbox Code Playgroud)

在文件bar.dart中:

import 'package:my_package/a.dart';
Run Code Online (Sandbox Code Playgroud)

这会导致错误.

正确:

在文件foo.dart中:

import 'package:my_package/a.dart';
Run Code Online (Sandbox Code Playgroud)

在文件bar.dart中:

import 'package:my_package/a.dart';
Run Code Online (Sandbox Code Playgroud)

这没关系.