服务器之家

服务器之家 > 正文

在.NET中取得代码行数的方法

时间:2019-12-04 10:52     来源/作者:ASP.NET教程网

文章目的 

介绍在.NET中取得代码行数的方法 

代码 

复制代码代码如下:


[STAThread] 
static void Main(string[] args) 

ReportError("Yay!"); 


static private void ReportError(string Message) 

StackFrame CallStack = new StackFrame(1, true); 
Console.Write("Error: " + Message + ", File: " + CallStack.GetFileName() + ", Line: " + CallStack.GetFileLineNumber()); 


StackFrame(Int32, Boolean) 初始化与当前堆栈帧之上的帧对应的 StackFrame 类的新实例,可以选择捕获源信息。 

GetFileName :获取包含所执行代码的文件名。 该信息通常从可执行文件的调试符号中提取。 

GetMethod :获取在其中执行帧的方法。 

GetFileLineNumber :获取文件中包含所执行代码的行号。 该信息通常从可执行文件的调试符号中提取。 

利用Exception(例外)的StackTrace类 

复制代码代码如下:


try 

throw new Exception(); 

catch (Exception ex) 

// Get stack trace for the exception with source file information 
var st = new StackTrace(ex, true); 
// Get the top stack frame 
var frame = st.GetFrame(0); 
// Get the line number from the stack frame 
var line = frame.GetFileLineNumber(); 


.NET4.5 新方法 

复制代码代码如下:


static void SomeMethodSomewhere() 

ShowMessage("Boo"); 

... 
static void ShowMessage(string message, 
[CallerLineNumber] int lineNumber = 0, 
[CallerMemberName] string caller = null) 

MessageBox.Show(message + " at line " + lineNumber + " (" + caller + ")"); 

标签:

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
配置IIS网站web服务器的安全策略配置解决方案
配置IIS网站web服务器的安全策略配置解决方案 2019-05-23
Nginx服务器究竟是怎么执行PHP项目
Nginx服务器究竟是怎么执行PHP项目 2019-05-24
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
返回顶部