VB.NET、C#で実行しているクラス名とメソッド名を取得する方法です。
ログファイルへの出力して、どのクラス・メソッドでエラーが出力されたのかを確認するために役立ちます。
#実行中クラス名の取得方法
実行中のクラス名を取得する方法は、Objectクラスに用意されているGetTypeメソッドを利用します。
'【VB.NET】
Me.[GetType]().Name
//【C#】
GetType().Name
#実行中メソッド名の取得方法
実行中のメソッド名を取得する方法は、MethodBaseクラスに用意されているGetCurrentMethodメソッドを利用します。
'【VB.NET】
System.Reflection.MethodBase.GetCurrentMethod.Name
//【C#】
System.Reflection.MethodBase.GetCurrentMethod().Name
#実行確認用テストフォーム
クラス名・メソッド名を取得できているか確認するためのフォームを作成しました。
実行ボタンをクリックすると、テキストボックスにクラスメイトメソッド名が表示される画面です。
VB.NET、C#のソースコードは以下
'【VB.NET】
Public Class MainForm
Private Sub btnGetRunInfo_Click(sender As Object, e As EventArgs) Handles btnGetRunInfo.Click
Dim strClassName = Me.[GetType]().Name
Dim strMethodName = System.Reflection.MethodBase.GetCurrentMethod.Name
'クラス名を表示
txtClassName.Text = strClassName
'メソッド名を表示
txtMethodName.Text = strMethodName
End Sub
End Class
//【C#】
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
}
private void btnGetRunInfo_Click(object sender, EventArgs e)
{
string strClassName = GetType().Name;
string strMethodName = System.Reflection.MethodBase.GetCurrentMethod().Name;
//クラス名を表示
txtClassName.Text = strClassName;
//メソッド名を表示
txtMethodName.Text = strMethodName;
}
}
#参考
https://docs.microsoft.com/ja-jp/dotnet/api/system.object.gettype?view=net-6.0