VB.net 呼び出したモジュール名と引数をログ出力する

引数を与えて呼ぶと、呼び出し元のモジュール名と引数を表示するモジュールFuncPrint()を作ってみた。
実行すると、以下のように呼び出しモジュール名と引数を表示する。
1
2
3
4
add(2,5)
7
addStr(A,B,3)
AB3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
Public Class Form1
 
    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
 
        Debug.Print(add(2, 5))
        Debug.Print(addStr("A", "B", 3))
 
 
    End Sub
 
 
    Function add(x As Integer, y As Integer) As Integer
 
        FuncPrint(x, y)
 
        Return x + y
 
    End Function
 
 
    Function addStr(a As String, b As String, c As Integer) As String
 
        FuncPrint(a, b, c)
 
        Return a + b + c.ToString()
 
    End Function
 
 
    ''' <summary>
    ''' 入力チェック
    ''' </summary>
    ''' <param name="args">変数を与える(可変長)
    Public Sub FuncPrint(ParamArray args As Object())
 
        Dim s As String = ""
 
        If (args Is Nothing) Or (args.Length = 0) Then
            '引数なし
        Else
            s = String.Join(",", args)
        End If
 
        s = New StackFrame(1).GetMethod.Name + "(" + s + ")"
        Debug.Print(s)
 
    End Sub
 
 
End Class

コメント

このブログの人気の投稿

Python OpenCVとWebカメラでバーコードリーダー

VB.net Dictionaryクラスの初期化