This post originated from an RSS feed registered with .NET Buzz
by Christian Horsdal.
Original Post: A First Look at C# 6 - Nameof operator
Feed Title: Horsdal
Feed URL: http://www.horsdal-consult.dk/feeds/posts/default
Feed Description: A blog that will be about code, architecture, design, and .NET.
The new nameof operator is a unary operator that takes, as its argument, a type, an identifier or a method and returns the name of the argument. That is, if you pass in the type Uri, you get back the string "System.Uri", if you pass in a variable you get back the name of the variable as a string.
In Nancy.Linker there was one opportunity for using nameof, which I coincidentally think represents a usage of nameof that will become widespread. In one the private methods in Nancy.Linker there is a null check followed by a possible ArgumentException:
Notice how I am repeating the name of the res variable in a string in order to tell the ArgumentException which argument is in error. With the nameof operator I avoid this duplication and potential source of inconsistency as follows:
Note that in case I rename res and forget to update the usage inside nameof I get a compile error.