This post is for the C# developers out there and takes a look at the interesting conjunction of [CallerArgumentExpression]
and static extension methods – a mix that at first seems too convenient to pass up.
A quick recap: [CallerArgumentExpression]
landed as part of the C# 10.0 language update and helps to reduce the (often brittle!) boilerplate involved in, among other uses, creating useful error messages capturing the names of variables or the text of expressions. You tag an optional string
method parameter with [CallerArgumentExpression("argName")]
where argName
is the name of the method argument you want stringified, and the compiler does the rest.