服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - ASP.NET教程 - 在.NET中取得代码行数的方法

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

2019-12-04 10:52ASP.NET教程网 ASP.NET教程

这篇文章主要介绍了在.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 + ")"); 

延伸 · 阅读

精彩推荐