VB.NET 如何得到当前过程的方法名称(current method)

概要

本文用示例讲述VB.NET(VB 2008, VB 2005) 如何得到当前过程(current procedure)和调用的类(current Class) 的名称。

主要用到 System.Diagnostics.StackTrace 和 System.Diagnostics.StackFrame,以及 StackFrame的方法:GetFileName,GetMethod.Name, GetMethod.ReflectedType.FullName。

示例代码

Imports System.Diagnostics Public Class Class2 Public Sub WriteToFile(ByVal Log As String) Dim clsName As String = ""
Dim mtdName As String = ""
Dim codeFilePath As String = "" Dim st As New StackTrace(True)
Dim sf As StackFrame = st.GetFrame(0) '重点:如果提当前方法的名字为GetFrame(0),如果提调用当前方法的方法的名字为GetFrame(1),依次类推.
mtdName = sf.GetMethod.Name
Debug.WriteLine(mtdName) clsName = sf.GetMethod.ReflectedType.FullName
Debug.WriteLine(clsName) codeFilePath = sf.GetFileName
Debug.WriteLine(codeFilePath)
End Sub End Class

在 Class2里面,我们写了一些代码得到当前过程的名称,当前类的方法的名称,以及当前代码文件的路径。

要点

1. 要 Imports System.Diagnostics

2. 要用到 StackTrace (System.Diagnostics.StackTrace) 和 StackFrame(System.Diagnostics.StackFrame)。

3. 要用到 StackTrace.GetFrame(0)

4. StackFrame.GetMethod.Name 得到当前过程名称 (current method name)

5. StackFrame.GetMethod.ReflectedType.FullName 得到当前类的全名 (current class name)。如果只要当前类的名称,可以用 Name,而不是FullName

6. StackFrame.GetFileName 得到代码文件路径

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值