导出两个库时遇到错误.这些库的类名完全相同.
档案:A.dart
library chrome.A;
class MyClass {
...
}
Run Code Online (Sandbox Code Playgroud)
档案:B.dart
library chrome.B;
class MyClass {
..
}
Run Code Online (Sandbox Code Playgroud)
文件:C.dart
library chrome_app;
export 'A.dart';
export 'B.dart'; // HERE!! error message is the element 'MyClass' is defined in the libraries 'A.dart' and 'B.dart'
Run Code Online (Sandbox Code Playgroud)
这是预期的结果?
我认为A.dart和B.dart有自己的命名空间,所以不应该有错误.
Gün*_*uer 25
库名称不是名称空间.Dart没有名称空间.
您在Dart中可以做的是为导入指定前缀.
如果要在同一个库中使用它们而不是仅使用一个导入,则必须单独导入这些库 import 'C.dart;'
import 'A.dart' as a;
import 'B.dart' as b;
var m = new a.MyClass();
var n = new b.MyClass();
Run Code Online (Sandbox Code Playgroud)
如果您只是想避免冲突并且不需要两个类导出,您可以.
library chrome_app;
export 'A.dart';
export 'B.dart' hide MyClass;
// or
export 'B.dart' show MyOtherClass, AnotherOne; // define explicitly which classes to export and omit MyClass
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2793 次 |
| 最近记录: |