Обновление платформы .NET: .NET 6.0 → .NET 8.0
Множество значительных изменений:
Метод string.IsNullOrEmptyOrWhiteSpace
переименован в IsNullOrWhiteSpace
;
Удалены расширения ToModels
для DataTable
и Dictionary
;
Удалены распределённые счетчики, распределённые ID и алгоритм Snowflake;
Удалена функция Ensure
, заменена на AssertUtil
;
Удалён ApplicationHelper
;
Удалён ProducerConsumerQueue
;
Удалён модель TreeNode
;
Удалён CmdHelper
;
Удалён easycompare
;
Удалён ComponentWrapper
;
Удалён DotNetCommon.DiagnosticReport
.
Рефакторинг проверочных функций:
ValidateModelHelper
переименован в VValid
;Обновление RunningContext
: автоматическое наследование хранения контекста родителем дочерними контекстами.
Добавленные возможности:
AgentStream
;DebounceUtil
;ImageDetector
.fixbug: Валидация контекста. Правило для (i => i.Prop) кэширования лямбды и компиляции
Добавление международной системы локализации: DotNetCommon.I18N:
// Сначала регистрируем
I18N.RegisterLanguage("ru", new Dictionary<string, string> { { "name", "Иван" } });
I18N.RegisterLanguage("en", new Dictionary<string, string> { { "name", "Jack" } });
// Затем используем
I18N.RunInLanguage("ru", () =>
{
I18N.GetString("name"); // вывод: Иван
});
I18N.RunInLanguage("en", () =>
{
I18N.GetString("name"); // вывод: Jack
});
Усиление чтения и конвертации значений перечислений
Измените название метода расширения для строки: IsNullOrWhiteSpaceUse => IsNullOrWhitespaceUse
Оптимизация сериализационного кода
Добавить JSON сериализацию для обеспечения совместимости
MethodInfo
в делегат, MethodInfo.Compile()
=> Func<object, object[], object>
;ExpressionHelper.Reduce
Оптимизировать ExpressionHelper.ReduceLambda()
Добавьте RunningContext.Current
вместо DotNetCommon.User.Current
Улучшить DeepClone, чтобы он поддерживал клонирование Poco объектов без конструктора по умолчанию.
Рефакторинг MD5/SHA256/AES/DES/RSA
1. Добавлены MD5Helper/SHA256Helper/DESHelper/AESHelper/RSAHelper
2. Удалены AESEncrypt/DESEncrypt/MD5Encrypt/RSAFromX509/Sha256
3. Расширены параметры AES/DES для возможности взаимодействия с другими языками, такими как JavaScript/Java;
4. Улучшена функциональность RSA, теперь поддерживаются форматы XML/PEM для генерации, импорта и конвертации, а также совместимость с сертификатами X509.
Легкое улучшение производительности SHA256
Оптимизация структуры кода FetchToTree
Переименовать RecurseTree в VisitTree
Улучшение совместимости Newtonsoft с System.Text.Json, включая:
""
в тип int?
, которое должно приводить к значению null
, а не вызывать ошибку;"Open"
в enum EnumState
, которое должно приводить к значению этого перечисления, а не вызывать ошибку;"2023-09-22 01:02:03"
в тип DateTime
, который по умолчанию должен успешно преобразовываться в указанное время, а не вызывать ошибку;Добавление метода JsonHelper.Configure(options, args...)
, чтобы легко конфигурировать System.Text.Json в приложениях ASP.NET Core Web.