在.NET中取得代码行数的方法
介绍在.NET中取得代码行数的方法
代码
[STAThread]
staticvoidMain(string[]args)
{
ReportError("Yay!");
}
staticprivatevoidReportError(stringMessage)
{
StackFrameCallStack=newStackFrame(1,true);
Console.Write("Error:"+Message+",File:"+CallStack.GetFileName()+",Line:"+CallStack.GetFileLineNumber());
}
StackFrame(Int32,Boolean)初始化与当前堆栈帧之上的帧对应的StackFrame类的新实例,可以选择捕获源信息。
GetFileName:获取包含所执行代码的文件名。该信息通常从可执行文件的调试符号中提取。
GetMethod:获取在其中执行帧的方法。
GetFileLineNumber:获取文件中包含所执行代码的行号。该信息通常从可执行文件的调试符号中提取。
利用Exception(例外)的StackTrace类
try
{
thrownewException();
}
catch(Exceptionex)
{
//Getstacktracefortheexceptionwithsourcefileinformation
varst=newStackTrace(ex,true);
//Getthetopstackframe
varframe=st.GetFrame(0);
//Getthelinenumberfromthestackframe
varline=frame.GetFileLineNumber();
}
.NET4.5新方法
staticvoidSomeMethodSomewhere()
{
ShowMessage("Boo");
}
...
staticvoidShowMessage(stringmessage,
[CallerLineNumber]intlineNumber=0,
[CallerMemberName]stringcaller=null)
{
MessageBox.Show(message+"atline"+lineNumber+"("+caller+")");
}
热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下