You can't interpolate like that. The Jiter just wont have any clue of the context or as to when to use that variable.
If you think it through, when should it replace it. On first use? What if you wanted to replace multiple Representations in different contexts, which scope should it consider. Sounds very unpredictable
However, if its an consolation. You could do this
public static string SetScore = "Score[@Set='{0}']";
...
result = string.Format(SetScore,currentSet)
Interpolated Strings (C# Reference)
Used to construct strings. An interpolated string looks like a
template string that contains interpolated expressions. An
interpolated string returns a string that replaces the interpolated
expressions that it contains with their string representations.
Moreso
You can use an interpolated string anywhere you can use a string
literal. The interpolated string is evaluated each time the code with
the interpolated string executes. This allows you to separate the
definition and evaluation of an interpolated string.
$"Score[@Set='{MyConstantStringClass.currentSet}']"not work?String.Format()method