Форматированный вывод Version

109
10 февраля 2022, 02:50

Имеется экземпляр Version, который необходимо приводить к определённому текстовому формату. Например Version 12.3.4.0 должно приводится к 12.03.04.00. На данный момент делаю так:

public static string ToD2Format(this Version version)
{
    return version.Major.ToString("D2") + "."
        + version.Minor.ToString("D2") + "."
        + version.Build.ToString("D2") + "."
        + version.Revision.ToString("D2");
}

Но так сложилось, что в различных частях кодовой базы используются разные форматы. Поэтому возник вопрос: можно ли каким-либо образом (в идеале элегантным) задавать строковой формат (к примеру так-же, как и при составном форматировании)?

// вместо version.ToD2Format();
version.FormatTo("{0}.{1:D2}.{2:D2}.{3:D2}");

Ссылки по теме

  • Класс Version
  • Строки настраиваемых числовых форматов
  • Составное форматирование
Answer 1

Решил так:

public static string FormatTo(this Version version, string format)
{
    return string.Format(format, new object[] {
        version.Major,
        version.Minor,
        version.Build,
        version.Revision,
        version.MajorRevision,
        version.MinorRevision
    });
}
READ ALSO
Как отследить клик мыши

Как отследить клик мыши

Вопрос теоретический, как отследить нажатие левой кнопки мыши с помощью c#Делаю некую задачу, где по клику мышкой делается скриншет экрана

78
Имя типа или пространства имен отсутствует в пространстве имен (пропущена ссылка на сборку?)

Имя типа или пространства имен отсутствует в пространстве имен (пропущена ссылка на сборку?)

Выполняя сборку проекта через Tfs builds, проект выдает ошибку:

131
RoutedEventConverter не может обработать событие Checked

RoutedEventConverter не может обработать событие Checked

Есть такой шаблон для checkBox

103