Я хочу интерполировать не только токены в строке, но и сам формат. Вот пример использования string.Format
который загружает строку формата из локальных переменных:Строки интерполирующего формата в интерполированных строках
object boxedDate = DateTime.Today;
var dateFormat = "MM-dd-yyyy";
var dateString = string.Format($"{{0:{dateFormat}}}", boxedDate);
С интерполируемым синтаксисом строки, хотя, кажется, что формат часть строки является чисто буквальной. Понятно, что я хотел бы сделать что-то вроде этого:
dateString = $"{boxedDate:{dateFormat}}";
Не работает, конечно. Я знаю, что я мог бы распаковывать на DateTime и вызывать .ToString()
так:
dateString = $"{((DateTime)boxedDate).ToString(dateFormat)}";
... но это требует от меня, чтобы знать тип во время выполнения. Это может быть десятичное целое число, дата и т. Д.
Это не прерыватель сделки или что-то еще. Я всегда мог использовать string.Format
, если нет реального способа сделать это с помощью интерполированного синтаксиса строк.