Итак, появились кое-какие существенные изменения.
Проект переехал. Теперь исходники доступны по адресу
http://nabu-library.googlecode.com/svn/
URL и в TortoiseSVN можно вбивать и в браузер. Там не только библиотека, но и несколько примеров её использования, утилиты и проч. Там же теперь живёт и
RegExTracerАвтор: adontz
Дата: 05.05.06
Возвращает словесное представление числительного. Поддерживаются русский и английский (enUS, enGB) языки. Поддерживаются количественные и порядковые числительные. Для русского языка можно указать падеж и род.
Кроме очевидного метода NumeralNameFromValue, имеется так же вспомогательный NounFormFromNumeral возвращающий форму существительного употребляемого рядом с числительным. Основная задача — обеспечить корректность употребления единиц измерения. Стимулом для написания этого класса стало увиденное мной сообщение "вам осталось ждать 22 секун
д."

Имеется демонстрационный проект Applications\Examples\NumeralFormatterExample
Класс для разбора параметров коммандной строки. Идея немного навеяная boost:program_options. Особо описывать не буду, класс используется во утилитах библиотеки.
Интероп для работы с GAC. В качестве примера использования — утилита Utilities\Nabu.GacCleanUp. Лично я её использую чтобы удалить из GAC все версии некоторой сборки, но её возможности гораздо шире.
Простой контейнер, который в отличие от List<T> предоставляет доступ ко
внутреннему массиву — хранилищу элементов (метод DangerousGetArray), а так же позволяет при конструировании устанавливать в качестве внутреннего массива уже существующий. Это позволяет значительно повысить эффективность многих операций ввода-вывода, не отказываясь от удобных контейнеров.
Реализация IBindingList, наследующая все плюсы ListEx. Рассылает оповещения не только после, но и до операций. Изначально была написан ради всего одного события — OnBeforeRemove, но сейчас пользуюсь постоянно. В отличие от BindingList<T> умеет обменивать элементы местами. Это бывает удобно когда контейнер подключён к списочному элементу управления и присутствуют операции упорядочивания "Move Up"/"Move Down".
Присутсвует специализация BindingListExNoCreate<T> для типов без конструктора по умолчанию. В ней операция CreateNew возвращает default(T)
Присутсвует специализация BindingListExString для строк. В ней операция CreateNew возвращает string.Empty
Вытесняющий кеш. Хранит часто используемые элементы, выкидывая редко используемые. Может хранить как слабые, так и сильные ссылки.
Просто синглтон
Реализации алгоритмов Хиршберга и Мейерса для поиска различий в массивах однотипных объектов. Есть специализации для byte[] и string[]. PatchOperationListBinary может записывать и считывать файлы формата GNU Generic Diff. Есть демонстрационное приложение Applications\Examples\DiffMyersExample. Сомневающимся заранее отвечаю на больших текстах тормозщит не алгоритм, а подсветка в RichEditView.
Объект переходящий в сингальное состояние когда счётчик равен нулю. Может использоватся, например, для ожидания завершения работы всех рабочих потоков.
Класс для арифметического (без ICM!) преобразования между HSL, HSV, RGB, YUV.
ComboBox'образный элемент управления для выбора цвета из предопределённых палитр (VGA, Crayole, Apple IIe, MOS, X11/Web) или произвольного.
Простой компонент хранящий именованные строковые значения. Сценарий использования простой — он кидается на форму и заполняется невидимыми строками (например заголовок кнопки, который надо показать только в определённом состоянии). Основная цель — упрощение локализации.
Элемент управления для выбора точки или линии на рисунке. В элементе управления Nabu.Forms.ColorPickerBox на вкладке Custom таких два.
Элемент управления круглой формы отображающий прогресс операции. Форма и цвет лепестков гибко настраиваются.
RichEdit расширенный возмостью печати и доступом к Text Object Model. TOM позволяет управлять форматированием текста на порядки быстрее, чем через оконные сообщения.
Класс для удобного межпотокового доступа к элементам управления.
Компоненты для проверки корректности значений введённых в элементы управления и пометки ошибочности ввода.
Экспериментальный интерфейс к HTMLayout.
Развитая система журналирования. Поддерживается журналирование в базы данных Access и MS SQL, текстовые и XML файлы, консоль, EventLog и Debug Output. Конфигурация как программно, так и через конфигурационные файлы. Имеется демонстрационное приложение Applications\Examples\LoggingExample и пример конфигурационного файла AppConfigExample.xml с комментариями.
Nabu.DirectoryCleanUp — удаляет подпапки с заданным именем.
Nabu.GacCleanUp — очищает GAC от сборок. Для выбора сборок их полное имя сравнивается с регулярным выражением.
Nabu.SvnAssemblyVersion — Обновляет файлы AssemblyInfo.cs позволяя в некоторой степени сохранять сихронность ревизий SVN и версий сборок.
LGPL. По вопросам коммерческого использования —
обращайтесь, я сговорчивый.