C# Nameof Operatorü

C# 6.0 sürümü ile birlikte sunulmuştur. C# NameOf operatörü, bir değişkenin, sınıfın (class) veya metodun adını almak için kullanılır. Sonuç olarak bize string bir ifade döndürür.

Hataya açık kodda, hatanın meydana geldiği bir metodun adının yakalanması için yararlıdır. (Log tutmada oldukça kullanılır.)

Not: Eğer tam bir isim elde etmek istiyorsak, typeof ifadesini nameof operatörü ile birlikte kullanabiliriz.

    class NameOfExample  
    {  
        public static void Main(string[] args)  
        {  
            string name = "alkanfatih";  
            
            Console.WriteLine("Değişken Adı: "+nameof(name));  
            Console.WriteLine("Metot Adı: "+nameof(show));  
        }  
        static void show()  
        {  
            //...
        }  
    }  

Sonuç:

Değişken Adı: name
Metot Adı: show

Exception’nun meydana geldiği metot adını almak için de kullanabiliriz.

   class NameOfExample  
    {  
        int[] arr = new int[5];  
        public static void Main(string[] args)  
        {  
            NameOfExample ex = new NameOfExample();  
            try  
            {  
                ex.show(ex.arr);  
            }  
            catch(Exception e)  
            {  
                Console.WriteLine(e.Message);  

                Console.WriteLine("Metot Adı:"+nameof(ex.show));  
            }  
        }  
        int show(int[] a)  
        {  
            a[6] = 12;  
            return a[6];  
        }  
    }  

Sonuç:

Index was outside the bounds of the array.
Metot Adı: show