本文用示例讲述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 得到代码文件路径。
上一页: VB.NET 如何得到调用当前过程的方法名称(calling method) 和类名称 (class) 返回上级目录: IT知识文章 下一页: VB.NET 只展开TreeView第一层的节点
© 2008 woyouxian.net 版权所有 Contact Us