C/C++ で言うところの、__FILE__ や __LINE__ を拾ってログ出力したい、という場合
次のような関数を作っておきます。
Public Class DebugTrace Public Shared Sub Trace() Dim sf = New StackFrame(1, True) Dim methodName As String = sf.GetMethod().ToString() Dim fileName As String = sf.GetFileName() Dim lineNumber As Integer = sf.GetFileLineNumber() MessageBox.Show(String.Format( _ "場所 {0} 場所 {1}:行 {2}", methodName, fileName, lineNumber)) End Sub End Class
で、使いたいときは、
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click DebugTrace.Trace() End Sub
のように書けばOK.
StackFrameクラスでは、Exceptionのように呼び出し元を再帰的に呼べるはずですが、ひとまずこれで用は足りるからよいかな、と。