¿Cómo usar el operador ternario dentro de una cadena interpolada?

Estoy confundido sobre por qué este código no se comstackrá:

var result = $"{fieldName}{isDescending ? " desc" : string.Empty}"; 

Si lo divido, funciona bien:

 var desc = isDescending ? " desc" : string.Empty; var result = $"{fieldName}{desc}"; 

De acuerdo con la documentación :

La estructura de una cadena interpolada es la siguiente:

$ "{ }"

El problema es que el colon se usa para denotar el formateo, como

 Console.WriteLine($"Time in hours is {hours:hh}") 

Entonces, la respuesta tl; dr es: envolver el condicional entre paréntesis.

 var result = $"descending? {(isDescending ? "yes" : "no")}";