flutter/dart中可以通过以下方式获取当前执行代码所在的类、方法和代码行,参考以下代码示例:
import 'package:stack_trace/stack_trace.dart'; void main() { print(__LINE__); //获取归属行 print(__METHOD__);//获取归属方法 print(__FILE__);//获取归属文件 new Foo(); } class Foo { Foo() { print(__CLASS__);//获取归属类 } } String get __CLASS__ { var frames = new Trace.current().frames;//调用栈 if(frames.length > 1) { var member = frames[1].member; var parts = member.split("."); if(parts.length > 1) { return parts[1]; } } return null; } String get __METHOD__ { var frames = new Trace.current().frames; if(frames.length > 1) { return frames[1].member; } return null; } String get __FILE__ { var frames = new Trace.current().frames; if(frames.length > 1) { return frames[1].uri.path; } return null; } int get __LINE__ { var frames = new Trace.current().frames; if(frames.length > 1) { return frames[1].line; } return null; }