nameof表达式也是C#的语法糖之一,它是编译时求值,有和反射相同的时功能,这样可以提高代码的性能,质量和可读性
1 让变量、类型或成员的名称作为字符串常量
2 用于异常消息的创建,让异常更准确捕获错误的来源。
3 监测属性的更改,下面的案例将展示属性更改的检查
官方文档:https://learn.microsoft.com/zh-cn/dotnet/csharp/language-reference/operators/nameof?redirectedfrom=MSDN
Console.WriteLine(nameof(System.Collections.Generic)); // output: Generic
Console.WriteLine(nameof(List<int>)); // output: List
Console.WriteLine(nameof(List<int>.Count)); // output: Count
Console.WriteLine(nameof(List<int>.Add)); // output: Add
List<int> numbers = [1, 2, 3];
Console.WriteLine(nameof(numbers)); // output: numbers
Console.WriteLine(nameof(numbers.Count)); // output: Count
Console.WriteLine(nameof(numbers.Add)); // output: Add