Struct EqualityComparerBuilder<T>
Generates hash code and equality check functions for the particular type.
Inherited Members
Namespace: DotNext
Assembly: DotNext.dll
Syntax
public readonly struct EqualityComparerBuilder<T>
Type Parameters
Name | Description |
---|---|
T | The type for which equality check and hash code functions should be generated. |
Remarks
Automatically generated hash code and equality check functions can be used instead of manually written implementation of overridden GetHashCode() and Equals(object) methods.
Properties
| Edit this page View SourceExcludedFields
Sets an array of excluded field names.
Declaration
public string[] ExcludedFields { init; }
Property Value
Type | Description |
---|---|
string[] | An array of excluded fields. |
SaltedHashCode
Set a value indicating that hash code must be unique for each application instance.
Declaration
public bool SaltedHashCode { init; }
Property Value
Type | Description |
---|---|
bool | true to include randomized salt data into hashing; false to use data from memory only. |
Methods
| Edit this page View SourceBuild()
Generates implementation of equality comparer.
Declaration
public IEqualityComparer<T> Build()
Returns
Type | Description |
---|---|
IEqualityComparer<T> | The generated equality comparer. |
Exceptions
Type | Condition |
---|---|
PlatformNotSupportedException | Dynamic code generation is not supported by underlying CLR implementation. |
Build(out Func<T?, T?, bool>, out Func<T, int>)
Generates implementation of GetHashCode() and Equals(object) methods
for particular type T
.
Declaration
public void Build(out Func<T?, T?, bool> equals, out Func<T, int> hashCode)
Parameters
Type | Name | Description |
---|---|---|
Func<T, T, bool> | equals | The implementation of equality check. |
Func<T, int> | hashCode | The implementation of hash code. |
Exceptions
Type | Condition |
---|---|
PlatformNotSupportedException | Dynamic code generation is not supported by underlying CLR implementation. |