Debug.WriteLine() имеет перегрузку со следующей подписью:Почему `Trace.Writeline()` отсутствует `WriteLine (строковый формат, params Object [] args)` overload?
public static void WriteLine(string format, params Object[] args)
Trace.WriteLine() не имеет, что перегрузка (хотя у него есть все остальные, которые Debug.WriteLine()
имеет).
Кто-нибудь знает причину этого упущения?
У меня нет причин для того, чтобы избежать этого, полагаю? (Я только спрашиваю, потому что я реализует интерфейс протоколирования и реализация по умолчанию будет использовать только Debug.WriteLine()
и Trace.WriteLine()
, и я хочу, чтобы быть в курсе каких-либо странных последствий. Я не могу представить себе, хотя.)
У меня есть это видение дизайнера/разработчика BCL, который работал над этим 10 лет назад, читая этот вопрос и смеясь. Смех маниакально. –
Да, это меня не удивит. :) –
Либо они никогда не думали добавлять его, либо не могли быть обеспокоены тем, что нашли время. Либо вызовите 'string.Format', либо передайте результаты, либо напишите свой собственный метод с нужной сигнатурой, которая передает отформатированные результаты в Trace. Мы вряд ли когда-либо узнаем конкретную причину, которую выбирает какой-либо другой человек, и мы, конечно, не те, кто может изменить BCL. – Servy