nameof Operator
suggest changeReturns a string that represents the unqualified name of a variable
, type
, or member
.
int counter = 10;
nameof(counter); // Returns "counter"
Client client = new Client();
nameof(client.Address.PostalCode)); // Returns "PostalCode"
The nameof
operator was introduced in C# 6.0. It is evaluated at compile-time and the returned string value is inserted inline by the compiler, so it can be used in most cases where the constant string can be used (e.g., the case
labels in a switch
statement, attributes, etc…). It can be useful in cases like raising & logging exceptions, attributes, MVC Action links, etc…
Found a mistake? Have a question or improvement idea?
Let me know.
Table Of Contents