[ C# ] クラス名やメソッド名を取得する2通りの方法(nameof演算子とリフレクション)

Pocket

ここでは、クラス名やメソッド名を取得する2通りの方法を掲載しています。1つ目はリフレクションを用いた方法で、2つ目は、Visual Studio 2015 (C# 6.0 ) で利用可能になった nemeof 演算子を用いる方法です。


ブログ管理人に緊急事態発生中!

仮想通貨(NEM/XEM)が盗まれたーー ギャェィャャーーー 財産を失う恐れで精神が崩壊中。( ;∀;) (# ゚Д゚) 笑いたきゃ笑えーーー!

※ 短期間の掲載になることを望みます。もちろん、いい結果のほうで。ところでお仲間はいないのか。おーいお茶。駄目だ。やっぱりいろいろ無理っぽい。壊れたみたい。



スポンサーリンク

クラス名、メソッド名を取得するサンプル

ネームスペース、クラス名、メソッド名を取得するサンプルコードになります。詳細はコメントを参照ください。

using System.Reflection;

namespace WindowsFormsApplication17
{
    public partial class Form1 : Form
    {
        private void button1_Click(object sender, EventArgs e)
        {
            // ネームスペース
            string nameSpace = this.GetType().Namespace;
            // クラス名
            string className = this.GetType().Name;
            // ネームスペース+クラス名
            //string className = this.GetType().FullName;
            // メソッド名 using System.Reflection が必要
            string methodName = MethodBase.GetCurrentMethod().Name;

            // WindowsFormsApplication17 : Form1 : button1_Click
            Console.WriteLine("{0} : {1} : {2}", nameSpace, className, methodName);

            // ネームスペース
            nameSpace = nameof(WindowsFormsApplication17);
            // クラス名
            className = nameof(Form1);
            // メソッド名
            methodName = nameof(button1_Click);

            // WindowsFormsApplication17 : Form1 : button1_Click
            Console.WriteLine("{0} : {1} : {2}", nameSpace, className, methodName);
        }
    }
}

 

スポンサーリンク


Pocket

Leave a Comment

Your email address will not be published. Required fields are marked *