そんなときに使えそうな処理がわかりました。
クラス名とメソッド名が取得されます。
これから、Reflection関係を勉強してみたいです。
---------------------------
- Dim st As StackTrace = New StackTrace(False)
- Dim sf As StackFrame
- Dim mb As System.Reflection.MethodBase
- Dim sf0 As StackFrame = st.GetFrame(0)
- Dim mb0 As System.Reflection.MethodBase = sf0.GetMethod()
- Dim stackLoop As Int32 = 1
- Dim className As String = String.Empty
- Dim methodName As String = String.Empty
- Do
- sf = st.GetFrame(stackLoop)
- mb = sf.GetMethod()
- If (mb.ReflectedType.Name = mb0.ReflectedType.Name) Then
- stackLoop += 1
- Else
- className = mb.ReflectedType.FullName
- methodName = mb.Name
- Exit Do
- End If
- 'まぁ50も見とけば良いでしょう
- If (50 < stackLoop) Then
- Exit Do
- End If
- Loop
0 件のコメント:
コメントを投稿