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

 更新时间:2014年06月03日 16:34:38   作者:  
这篇文章主要介绍了在.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 + ")");
}

相关文章

  • vs2017软链接失效而导致无法进入安装界面的解决方法

    vs2017软链接失效而导致无法进入安装界面的解决方法

    这篇文章主要为大家详细介绍了vs2017软链接失效而导致无法进入安装界面的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-09-09
  • 微信公众平台支付开发详解

    微信公众平台支付开发详解

    本文主要介绍了微信开发中公众号支付的实现方法与步骤。具有很好的参考价值,下面跟着小编一起来看下吧
    2017-01-01
  • 从ASP.NET Core3.1迁移到5.0的方法

    从ASP.NET Core3.1迁移到5.0的方法

    这篇文章主要介绍了从ASP.NET Core3.1迁移到5.0的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • log4net教程日志分类和自动维护示例

    log4net教程日志分类和自动维护示例

    log4net能不能按照功能分类呢?如果通过配置不同的logger,然后功能根据不同的LoggerName加载Ilog实例,是可以做到。但由于这些功能的log配置差异性极小,也许仅仅就是文件名不同。于是想通过代码进行配置,下面把方法分享如下
    2014-01-01
  • 探究ASP.NET Core Middleware实现方法

    探究ASP.NET Core Middleware实现方法

    这篇文章主要介绍了探究ASP.NET Core Middleware实现方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-02-02
  • asp.net 图片验证码的HtmlHelper

    asp.net 图片验证码的HtmlHelper

    一个图片验证码的HtmlHelper,原来的调用代码如下,需要的朋友可以参考下
    2012-05-05
  • VS Code 1.26 发布 有你想要的新特性?

    VS Code 1.26 发布 有你想要的新特性?

    VS Code 1.26 发布,有你想要的新特性吗?这篇文章主要为大家详细介绍了VS Code 1.26一些主要的更新亮点,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • asp.net gridview多页时的批量删除

    asp.net gridview多页时的批量删除

    多余的代码我就不贴了,有段时间没写.net了,最近又开始写了,结果就一个gridview含多页的批量删除弄了我很久。贴上代码,忘记再看下:
    2008-07-07
  • Asp.net内置对象之Request对象(概述及应用)

    Asp.net内置对象之Request对象(概述及应用)

    Request对象主要用于获取来自客户端的数据,如用户填入表单的数据、保存在客户端的Cookie等,本文将围绕Request对象,讲解其的主要作用:读取窗体变量、读取查询字符串变量、取得Web服务器端的系统信息。取得客户端浏览器信息等等,感兴趣的朋友可以了解下
    2013-02-02
  • MVC使用Memcache+Cookie解决分布式系统共享登录状态学习笔记6

    MVC使用Memcache+Cookie解决分布式系统共享登录状态学习笔记6

    这篇文章主要介绍了MVC使用Memcache+Cookie解决分布式系统共享登录状态学习笔记,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09

最新评论