Operator C# NameOf służy do uzyskania nazwy zmiennej, klasy lub metody. W rezultacie zwraca prosty ciąg znaków.
W kodzie podatnym na błędy przydatne jest przechwycenie nazwy metody, w której wystąpił błąd.
Możemy go używać do logowania, sprawdzania parametrów, sprawdzania zdarzeń itp.
Uwaga: jeśli chcemy uzyskać w pełni kwalifikowaną nazwę, możemy użyć wyrażenia typeof wraz z operatorem nameof.
Zobaczmy przykład, który implementuje Nazwa operator.
C# Nazwa operatora Przykład 1
using System; namespace CSharpFeatures { class NameOfExample { public static void Main(string[] args) { string name = 'javatpoint'; // Accessing name of variable and method Console.WriteLine('Variable name is: '+nameof(name)); Console.WriteLine('Method name is: '+nameof(show)); } static void show() { // code statements } } }
Wyjście:
Variable name is: name Method name is: show
Możemy go również użyć do uzyskania nazwy metody, w której wystąpił wyjątek. Zobacz następujący przykład.
C# Nazwa operatora Przykład 2
using System; namespace CSharpFeatures { 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); // Displaying method name that throws the exception Console.WriteLine('Method name is: '+nameof(ex.show)); } } int show(int[] a) { a[6] = 12; return a[6]; } } }
Wyjście:
Index was outside the bounds of the array. Method name is: show