栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > asp

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

asp 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在.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 + ")");
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/57114.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号