ModernUO/Projects/UOContent/Utilities
Kamron Batman b3d755e6ad perf(types): numeric parsing via INumber<T>.TryParse instead of Convert.ChangeType
Types.TryParse parsed every numeric as ulong then Convert.ChangeType(num, type) to
the target type — which boxes via conversion, rejects signed values (ulong.TryParse
fails on '-5', forcing a fall-through to the slow reflection Parse), and can overflow.
It now dispatches the runtime Type to the concrete INumber<T>.TryParse(span, style, ...)
(the Type-parameter equivalent of AdvancedSearch's generic TryParseNumericValue<T>),
parsing the string straight into the target type — signed/per-type ranges honored, hex
supported, no Convert.ChangeType. Serial/entity properties keep the full-range ulong path.

Adds numeric TryParse coverage (int/byte/uint/long, negative, hex, out-of-range).
Full suite 543/543.
2026-07-20 09:58:22 -07:00
..
TypeAttributes.cs fix(cleanup): Consolidate the duplicate code in Properties, PropsGump, and PropsConfig (#540) 2021-04-14 22:58:56 -07:00
Types.cs perf(types): numeric parsing via INumber<T>.TryParse instead of Convert.ChangeType 2026-07-20 09:58:22 -07:00