Resharper имеет фантастическую аннотацию StringFormatMethodAttribute
, которая обеспечивает анализ кода для строк формата и их параметров. Его можно добавить к любым пользовательским методам форматирования строк, например так:
[StringFormatMethod("format")]
void DebugFormat(string format, params object[] args);
Это хорошо работает при использовании целочисленных заполнителей, например,
x.DebugFormat("Resharper is {0} for {1} placeholders", "great", "numbered");
Однако некоторые библиотеки (например, Serilog и ASP.Net Core / Microsoft.Extensions.Logging ) предлагают заполнители формата с именем , которые используются для (семантическая | структурированный) ведение журнала, и это, кажется, то, что Resharper не предлагает (пока). Например, строка кода, подобная этой:
x.DebugFormat("Resharper is {Quality} for {Style} placeholders", "poor?", "named");
Результаты в предупреждении анализа кода Resharper
Индекс элемента формата должен быть числом, начинающимся с 0 без начальных или конечных пробелов
Поиск в службе поддержки Resharper, на этом сайте и в Google выводит пробел. Кто-нибудь нашел способ получить аннотации в формате строки, работающие с именными заполнителями?
Соответствующие ссылки Jetbrains