在Flutter应用程序中,我有一个位于 FlutterTest\sandbox\lib\my_widget\my_widget.dart 的dart文件,其中包含一个名为 MyWidget 的类 .
FlutterTest\sandbox\lib\my_widget\my_widget.dart
MyWidget
我可以从这个类中获取定义它的文件的位置吗?
这是不可能的 . 颤动禁用 dart:mirror 所以你不能使用反射 .
dart:mirror
正如另一个答案/评论中所提到的,该信息在运行时被删除 .
但是,如果你有足够的动力,你可以编写一个pub变换器,它使用正则表达式来获取你定义的特殊符号,并在运行时将其交换为文件路径 . 编辑:flutter不支持变换器 .
您可以使用Dart 2中引入的Build package & tooling来执行此操作,但是您'll have to make sure you'使用的是使用dart 2的颤振版本(测试分支/ Channels 可能尚未使用,开发可能会也可能不会,但是) .
2 回答
这是不可能的 . 颤动禁用
dart:mirror
所以你不能使用反射 .正如另一个答案/评论中所提到的,该信息在运行时被删除 .
但是,如果你有足够的动力,你可以编写一个pub变换器,它使用正则表达式来获取你定义的特殊符号,并在运行时将其交换为文件路径 . 编辑:flutter不支持变换器 .
您可以使用Dart 2中引入的Build package & tooling来执行此操作,但是您'll have to make sure you'使用的是使用dart 2的颤振版本(测试分支/ Channels 可能尚未使用,开发可能会也可能不会,但是) .