Releases
6.0.0
v6 supports .NET 7 only.
Introduced new interface "IEnum<in TKey, T>" which is going to be implemented by the source generator
The key equality comparer is static abstract property in .NET 7
The property "Items" is "static abstract"
Keyed value objects implement IKeyedValueObject<T, TKey>
Replaced KeyedValueObjectAttribute with non-generic interface IKeyedValueObject
The delegate "Validate" is obsolete
Replaced ValueObjectConstructorAttribute with IComplexValueObject
Renamed ValueObjectMetadata to KeyedValueObjectMetadata
Introduced ComplexValueObjectMetadata because it easier to use and faster then reflection
Configurable whether to generate code for ToString()
Member comparers are provided via generic attributes instead of strings.
ValueObjectTypeConverter doesn't have to be generated thanks to abstract static members
Introduced non-generic IValidatableEnum which is used by serializers
Renamed ValueObjectIgnoreAttribute to ValueObjectMemberIgnoreAttribute
Renamed SkipCompareTo to SkipIComparables
Smart Enums and Value Object implement IComparable, IFormattable and IParsable
Minimal WebApi is able to bind Smart Enums and Value Objects thanks to IParsable
Introduced new setting "SkipIFormattables"
ToString doesn't return null
Added implementation of IAdditionOperators, ISubtractionOperatorss, IMultiplyOperators, IDivisionOperators, IComparisonOperators
Added operators that work with key-member-types
Always-valid-smart-enums are considered equal if the object references are equal.
Smart enums implement comparison operators as well.
ValueObjectEqualityMemberAttribute is obsolete because we have ValueObjectMemberEqualityComparerAttribute
You can’t perform that action at this time.