Оператор nameof
Оператор nameof принимает идентификатор
или доступ к члену и на этапе компиляции
превращает его в строковый литерал с этим
именем. Значение переменной или поля при
этом не читается - только текст имени,
удобный для сообщений и проверок.
Синтаксис
nameof(идентификатор)
Пример
Давайте получим имя локальной переменной:
using System;
class Program
{
static void Main()
{
int num = 12;
Console.WriteLine(nameof(num));
}
}
Результат выполнения кода:
"num"
Пример
Давайте получим имя параметра метода:
using System;
class Program
{
static void PrintName(string str)
{
Console.WriteLine(nameof(str));
}
static void Main()
{
PrintName("abcde");
}
}
Результат выполнения кода:
"str"
Пример
Давайте получим имя типа через nameof:
using System;
class Program
{
static void Main()
{
Console.WriteLine(nameof(String));
}
}
Результат выполнения кода:
"String"
Пример
Давайте получим имя свойства класса:
using System;
class Item
{
public int Code { get; set; }
}
class Program
{
static void Main()
{
Console.WriteLine(nameof(Item.Code));
}
}
Результат выполнения кода:
"Code"