.Net(VB、C#)で実行中のクラス名、メソッド名を取得する
デバック等で役に立つ、実行中のアセンブリファイル名、クラスパス、クラス名、メソッド名の取得方法。
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 | Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'アセンブリファイル名の取得 Dim fileName As String = System.IO.Path.GetFileName(Me.GetType().Assembly.Location) 'クラスパスの取得 Dim classPath As String = Me.GetType().FullName 'クラス名の取得 Dim className As String = Me.GetType().Name 'メソッド名の取得 Dim methodName As String = System.Reflection.MethodBase.GetCurrentMethod().Name 'メッセージボックス表示 MessageBox.Show("アセンブリファイル名:" + fileName + System.Environment.NewLine + _ "クラスパス:" + classPath + System.Environment.NewLine + _ "クラス名:" + className + System.Environment.NewLine + _ "メソッド名:" + methodName) '自分自身のフォームを閉じる Me.Close() End Sub End Class |
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 | using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { //アセンブリファイル名の取得 string fileName = System.IO.Path.GetFileName(this.GetType().Assembly.Location); //クラスパスの取得 string classPath = this.GetType().FullName; //クラス名の取得 string className = this.GetType().Name; //メソッド名の取得 string methodName = System.Reflection.MethodBase.GetCurrentMethod().Name; //メッセージボックス表示 MessageBox.Show("アセンブリファイル名:" + fileName + System.Environment.NewLine + "クラスパス:" + classPath + System.Environment.NewLine + "クラス名:" + className + System.Environment.NewLine + "メソッド名:" + methodName); //自分自身のフォームを閉じる this.Close(); } } } |