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. |