在.NET框架中,函数可以通过属性CallerFilePath、CallerMemberName、CallerLineNumber获得调用者的方法/文件/行号。在netstandard中这是不受支持的。它的等价性是什么?有没有办法做到这一点?
我希望这个函数可以抓取调用者的数据,而不需要调用者直接传递它们,就像我可以用属性来做到这一点。
发布于 2017-08-20 03:43:50
您可以使用StackTrace类。它允许您以帧列表的形式跟踪有关执行的信息。Frame 0是你的当前元素,所以你的目标帧索引是1,当然,如果它在那里,例如
StackTrace st = new StackTrace(true);
var frame = st.GetFrame(1);
var method = frame.GetMethod();
var file = frame.GetFileName();
var line = frame.GetFileLineNumber();检查该类的其他方法
https://stackoverflow.com/questions/45775249
复制相似问题