您的位置:首页 > 编程语言 > C#

c#代码中捕获源信息

2016-03-30 10:11 211 查看
在项目开发过程中,我们会用到面向对象的多态来实现灵活的代码结构,比如接口或者反射等,

此时,我们输出日志时需要捕获源信息并输出,此时可以用到StackFrame类。

var sf= new StackFrame(true);
var methodInfo= sf.GetMethod();
string classFullName = methodInfo.ReflectedType.FullName;
string methodName = methodInfo.Name;
// 效果图如下




<span style="font-family: Arial, Helvetica, sans-serif;">// 以上代码写在具体的方法里面可以得到该方法的信息,另外说明一下StackFrame的其他用法</span>
var sf0= new StackFrame(0);
// 在StackFrame构造函数中输入int,表示堆栈上要跳过的帧数,比如这里输入0表示跳过0帧,也就是不跳帧还是当前方法。
假设我们输入的是StackFrame(1),则捕获的是调用当前方法的上一级方法的信息,把上面代码中的StackFrame(true)替换为StackFrame(1),输出结果如下:




根据以上基本用法,可以稍作修改应用在项目中。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: