Различные помощники - QualitySolution/QSProjects GitHub Wiki

QS.Utilities

В пространстве имен QS.Utilities и соответствующей библиотеке, имеется множество различных помощников, то есть чисто утилитарного кода в статических классах который реализует какую либо простую функциональность и может быть использована в различных проектах.

Список помощников

Библиотека QS.Utilities

  • QS.Utilities.Dates - подраздел работы с датами
    • DateRange - Позволяет работать с диапазонами дат. Находить вхождение одних интервалов в другие, исключать из большого интервала, внутренние интервалы и находить оставшиеся, куски.
    • ICurrentDateTime - Интерфейс необходимый для замены стандартных DateTime.Now И DateTime.Today в коде, который покрывается тестами. А так же базовая реализация CurrentDateTime
  • QS.Utilities.Debug - подраздел для дебага
    • ExceptionHelper - Позволяет искать определенный Exception во вложенных исключениях.
    • PerformanceHelper - Упрощает замеры производительности. Позволяет по коду расставить референсные точки. А потом вывести в консоль информацию сколько времени прошло между каждой из точек.
    • DebugPrint - позволяет сформировать строку со списком значений всех свойств объекта, рекурсивно.
  • QS.Utilities.Enums - Работа с перечислениями.
    • EnumHelper - Поможет получить список значений Enum-а.
  • QS.Utilities.Extensions - Методы расширения для различных классов.
    • IListExtensions - Сортирует список методом слияния
    • ServiceCollectionExtensions - ???
    • ServiceContainerExtensions - ???
    • TypeExtensions - Получение информации о свойстве.
  • QS.Utilities.Numeric - Работа с цифрами
    • NumbersHelper
      • Clamp - Позволяет вписать число в определенные рамки, например от 50 до 100;
    • NumbersToStringFormater - Преобразовывает число в двоичный формат и разбивает его на группы по 8 бит.
    • PhoneFormatter - Позволяет форматировать телефонный номер в различные форматы, не зависимо от исходного формата.
  • QS.Utilities.Processes - Работа с процессами
    • OpenHelper - позволяет открывать ссылки на всех платформах.
  • QS.Utilities.Spatial - Работа с координатами
    • DistanceHelper - Получение расстояния по координатам.
  • QS.Utilities.Text - Работа с текстом.
    • NaturalStringComparer - Позволяет сравнивать строки с содержащимися в них числами в логичном для человека порядке. Можно использовать для умной сортировки, с помощью этого Comparer-а, строки "А1", "А10" и "А2" будут отсортировано, не по символьно, а в порядке возрастания цифр.
    • PersonHelper - Позволяет формировать ФИО с инициалами и другие варианты.
    • StringManipulationHelper - дополнительные манипуляции со строками
      • ReplaceFirstOccurrence, ReplaceLastOccurrence - Замена только первого или последнего вхождения в строку, подстроки.
      • EllipsizeMiddle - Укорачивает по середине длинную строку до указанной максимальной длинны.
    • TextSpinner - Позволяет создавать текстовые спинеры, различных форматов.
    • TitleHelper - Помогает форматировать строку в форматы TitleCase и PascalCase.
    • VersionHelper - Позволяет форматировать версии.
  • CurrencyWorks - Форматирование денежной суммы
  • DateHelper - Работа с датами
  • NumberToTextRus - Перевод чисел в строковое представление и склонение текста в зависимости от значения числа.

Библиотека Gamma.Utilities.Gtk

  • Gamma.Utilities.ColorUtil - Более простое создание класса Gdk.Color и получение GtkColorAttribute

Библиотека QS.Project.Gtk

  • QS.Utilities.GtkHelper - Помощник для различных действий с GTK.