I often need to obtain the name of the current property of method, and I have historically used reflection for this.  However, I recently ran across the CallerMemberName attribute. This lead me to create the following utility function:

Public Shared Function GetMethodOrPropertyName(
<CallerMemberNameOptional memberName As String = Nothing
As String     Return memberName End Function

The key here is that I do not specify the memberName parameter when I call the function, so the compiler fills it in for me.  (That's what the attribute is for.)  Now I can call this function whenever I need the current method's name.  NO custom reflection code required.