そんなときに使えそうな処理がわかりました。
クラス名とメソッド名が取得されます。
これから、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 件のコメント:
コメントを投稿