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

概要

本文用示例讲述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)
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 得到代码文件路径


编者或作者: 我有闲    收录日期: 2008-12-28
参考或来源: 我有闲IT教程网 WoYouXian.net

上一页: VB.NET 如何得到调用当前过程的方法名称(calling method) 和类名称 (class) 返回上级目录: IT知识文章 下一页: VB.NET 只展开TreeView第一层的节点


© 2008 woyouxian.net 版权所有 Contact Us