1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/jackletter-DotNetCommon

10.03.2025 21:04
GitLife Service Account

Оптимизация RoslynHelper: создание CSharpCompilation каждый раз при компиляции приводит к быстрому увеличению использования памяти. Вместо этого следует использовать один общий CSharpCompilation. Также следует сделать RoslynHelper доступным для внешнего использования.

Последнее сообщение коммита: 发版 v2.8.4
10.03.2025 21:04
GitLife Service Account

Модификация AsyncLocker

  • Добавление TryLockAsync
  • Добавление LockRetAsync
  • Изменение: Отменено использование следующего синтаксиса using await var locker = AsyncLocker.LockAsync("123");
Последнее сообщение коммита: AsyncLocker 异步锁改造, 发版: v2.8.3
10.03.2025 21:04
GitLife Service Account

Исправление ошибки: исправлено поведение ExpressionHelper.ReduceLambda при работе с nullable типами.
Добавлена производительность тестирование для ExpressionHelper.ReduceLambda: https://gitee.com/jackletter/DotNetCommon/blob/master/tests/DotNetCommon.ReduceLambdaPerformance/Program.cs

Последнее сообщение коммита: bugfix: ExpressionHelper.ReduceLambda 在处理 可空类型运算时bug
10.03.2025 21:04
GitLife Service Account

Изменения в разрыве:

  1. Унифицированы правила проверки эффективности имени файла и пути к файлу:
    1.1 Валидность имени файла проверяется с использованием 41 недопустимого символа Windows (непосредственно влияет метод: string.IsValidFileName(""));
    1.2 Валидность пути к файлу проверяется с использованием Yöntem: string.IsValidPathName(""));

  2. Удалена память кэша MemoryCache, чтобы избежать конфликта названий с библиотекой Microsoft.Extensions.Caching.Memory.

Новые возможности:

  1. Добавлен параметр bool ignoreComment в расширенный метод string.ToObject<T> для указания, следует ли игнорировать комментарии при преобразовании строки в объект типа JObject или JArray.
  2. Добавлена возможность форматирования JSON-строки через метод JSONHelper.Format. Этот метод позволяет контролировать отступы (isIndent) и удаление комментариев (removeComment).
  3. Введён новый класс помощника ExpressionHelper (см.: https://gitee.com/jackletter/DotNetCommon/blob/master/docs/032_表达式辅助类(ExpressionHelper).md):
    3.1 ExpressionHelper.GetAccessNames: проходит по лямбда-выражению и собирает множество свойств, доступных к чтению;
    3.2 ExpressionHelper.GetInitOrReturnPropNames: проходит по лямбда-выражению и собирает множество свойств, используемых для инициализации или возврата значений;
    3.3 ExpressionHelper.ReduceLambda: упрощает лямбда-выражение.4. Улучшены компоненты журналирования (см.: https://gitee.com/jackletter/DotNetCommon/blob/master/docs/029_通用日志Logger.md):
    4.1 Поддержка условной фильтрации вывода;
    4.2 Возможность управления выводом;
    4.3 Контроль формата вывода;

Обратите внимание, что фраза "https://gitee.com/jackletter/DotNetCommon/blob/master/docs/029_通用日志Logger.md" содержит текст на китайском языке, который можно перевести, но в данном случае лучше оставить её без изменений, чтобы ссылка оставалась действительной.5. Расширены возможности рефлексии для типов Type и MethodInfo (см.: https://gitee.com/jackletter/DotNetCommon/blob/master/docs/026_%D0%A1%D1%82%D1%80%D0%BE%D0%B9%D1%81%D1%82%D0%B2%D0%B0_%D1%80%D0%B0%D1%81%D0%B5%D1%84%D0%BB%D0%B5%D0%B9.md#8-%D1%82%D0%B8%D0%BF%D0%B0-%D0%B8-%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%B0-%D1%80%D0%B5%D1%84%D0%BB%D0%B5%D1%84%D1%81%D0%B8%D0%B8-%D1%80%D0%B0%D1%81%D1%82%D0%B5%D1%82%D0%B0):
5.1 Type.GetClassFullName
5.2 Type.GetClassGenericFullName
5.3 Method.GetMethodFullName
5.4 Method.GetMethodGenericFullName

Последнее сообщение коммита: 修复bug: Path.IsValidFileName Path.IsValidPathName
10.03.2025 21:04
GitLife Service Account

Исправление ошибки: Enum.To()
Предварительный просмотр функциональности: упрощение лямбда-выражений, ExpressionHelper.ReduceLambda(...)

Последнее сообщение коммита: v2.7.2发版
10.03.2025 21:04
GitLife Service Account
  1. Исправление ошибки: Enum.To<int?>();
  2. Оптимизация: удаление метода DistinctBy в .NET 6 (уже доступен нативно, что может вызвать конфликты методов);
  3. Изменение совместимости: string.SplitAndTrimTo不再兼容"1,2plok,4".SplitAndTrimTo() этот стиль записи больше не совместим; ранее это не вызывало ошибок, теперь будет выброшено исключение.

Примечание: В последнем пункте есть часть, которая остается без изменения ("1,2plok,4".SplitAndTrimTo()).

Последнее сообщение коммита: 修改 Enum.To() bug;
10.03.2025 21:03
GitLife Service Account
  1. Добавлен асинхронный локер AsyncLocker;
  2. Добавлена возможность преобразования составного перечисления в коллекцию перечислений с помощью метода ToEnumList();
  3. При прохождении по дереву добавлен вызов RunAfter(() => {}), который используется для выполнения логики после завершения обработки текущего узла;
Последнее сообщение коммита: v2.7.0 整理发包
10.03.2025 21:03
GitLife Service Account
  1. Добавлена поддержка сжатия потока в классах компрессии;
  2. Метод To<>() теперь поддерживает преобразование типов DateOnly и TimeOnly;
    Метод To<>() теперь поддерживает преобразование TimeSpan в DateTime;
    Метод To<>() теперь поддерживает десериализацию JSON-строки в объект;
    Метод To<>() теперь поддерживает преобразование строки в перечисление, игнорируя регистр букв;
  3. Устранены ошибки в расширенных методах типа GetDefault();
  4. Для экземпляра User добавлен метод SetIdStringTemp для удобства временного установления текущего пользователя в контексте;
  5. Введен компонент ComponentWrapper, который позволяет легко внедрять негeneric объекты в контейнер для их различения;
  6. Добавлен помощник для работы с памятью MemoryCache;
Последнее сообщение коммита: 2.6.0发版
10.03.2025 21:03
GitLife Service Account
  1. Введение Roslyn для повышения производительности расширенных методов Mapper в 10 раз;
  2. Увеличение потоковой безопасности в RandomHelper;
  3. Добавление расширенных методов UnWrapAsync и MapperAsync;
  4. Добавление поддержки параметра decimal для конвертации денежной суммы в верхний и нижний регистр;
Последнее сообщение коммита: !1 2.5.0发版合并
10.03.2025 21:03
GitLife Service Account

Исправление ошибки: Устранена проблема с дефолтной записью логов в локальный файл, которая занимала слишком много места.

Последнее сообщение коммита: 修复日志组件bug
10.03.2025 21:03
GitLife Service Account
  1. Устранена проблема в методе Mapper;
  2. Добавлен класс PropertiesHelper для чтения файлов с расширением .properties, аналогично Java;
  3. Добавлен универсальный логгер Logger;
  4. В класс Dictionary добавлены цепные операции AddFluent и SetFluent;
Последнее сообщение коммита: 整理发包
10.03.2025 21:03
GitLife Service Account
  1. Добавлено чтение файлов в формате *.properties с помощью PropertiesHelper
  2. Добавлена возможность родительского элемента быть равным самому себе (ParentsithSelf) при рекурсивном прохождении по дереву
  3. Изменены кодовые подсказки по использованию общего механизма аутентификации User
Последнее сообщение коммита: 增加 PropertiesHelper
10.03.2025 21:03
GitLife Service Account

Поддерживает .NET 6.0

Последнее сообщение коммита: 支持.net6.0
10.03.2025 21:03
GitLife Service Account

DotNetCommon.Core => 1.1.4
DotNetCommon => 2.1.4

  • Изменено использование DotNetCommon.User;
  • Улучшена работа с объектами Result;
  • Добавлен инструмент для обнаружения некорректных символов (LuanMaHelper);
Последнее сообщение коммита: 整理文档,发包
10.03.2025 21:03
GitLife Service Account

Исправлен баг в методе Object.ToWithDefault(), который приводил к бесконечной рекурсивной перезагрузке метода и падению программы!!!

Последнее сообщение коммита: 修复 Object.ToWithDefault() bug;升级发包
10.03.2025 21:03
GitLife Service Account

Релиз DotNetCommon.Core v1.1.2
Обновлено скрытое преобразование для Result -> Result, добавлена конвертация Result.Data -> Result.T
Добавлены методы DateTime.ToFileNameString и DateTime.ToFileNameGuidString

Последнее сообщение коммита: DateTime增加扩展;Result隐世转换处理;
10.03.2025 21:03
GitLife Service Account

Исправление ошибки в генерации распределённых последовательных номеров

Последнее сообщение коммита: 分布式流水号生成bug修复
10.03.2025 21:03
GitLife Service Account

Обновлены данные словаря для перевода китайских символов в пinyin; решены проблемы с конвертацией некоторых многозначных слов;
Пакет DotNetCommon.PinYin разделён; данные словаря загружены на NuGet;
регионы заменены на регион

Последнее сообщение коммита: 更新汉字转拼音字典,解决部分多音字转换失败问题;
10.03.2025 21:03
GitLife Service Account

Обновление DotNetCommon.Core до версии v1.1.0:
Добавлено расширение String.Repeat;
Улучшена работа с деревьями, добавлена возможность использования NextSibling;
В перечисления добавлен аннотация ReferenceClass, теперь они представляют собой четверки (code, key, desc, refer);
Переработана документация;
DotNetCommon обновляет ссылку на пакет DotNetCommon.Core

Последнее сообщение коммита: 升级发包=>
10.03.2025 21:03
GitLife Service Account

Из пакета DotNetCommon выделена часть DotNetCommon.Core для сокращения объёма.

Последнее сообщение коммита: +
1
https://api.gitlife.ru/oschina-mirror/jackletter-DotNetCommon.git
git@api.gitlife.ru:oschina-mirror/jackletter-DotNetCommon.git
oschina-mirror
jackletter-DotNetCommon
jackletter-DotNetCommon