ValueComparer Classe

Définition

Spécifie des captures instantanées et des comparaisons de valeurs personnalisées pour les types CLR qui ne peuvent pas être comparés avec Equals(Object, Object) et/ou nécessitent une copie profonde/structurelle lors de la capture d’un instantané. Par exemple, les tableaux de types primitifs nécessitent à la fois la tentative de mutation.

L’instantané est le processus de création d’une copie de la valeur dans un instantané afin de pouvoir être comparé ultérieurement pour déterminer s’il a changé. Pour certains types, tels que les collections, il doit s’agir d’une copie complète de la collection plutôt que d’une simple copie superficielle de la référence.

public abstract class ValueComparer : System.Collections.IEqualityComparer
public abstract class ValueComparer : System.Collections.Generic.IEqualityComparer<object>, System.Collections.IEqualityComparer
type ValueComparer = class
    interface IEqualityComparer
type ValueComparer = class
    interface IEqualityComparer
    interface IEqualityComparer<obj>
Public MustInherit Class ValueComparer
Implements IEqualityComparer
Public MustInherit Class ValueComparer
Implements IEqualityComparer, IEqualityComparer(Of Object)
Héritage
ValueComparer
Dérivé
Implémente

Constructeurs

ValueComparer(LambdaExpression, LambdaExpression, LambdaExpression)

Crée un nouveau ValueComparer avec les expressions de comparaison et d’instantané données.

Propriétés

EqualsExpression

Expression de comparaison.

HashCodeExpression

Expression de code de hachage.

SnapshotExpression

Expression d’instantané.

L’instantané est le processus de création d’une copie de la valeur dans un instantané afin de pouvoir être comparé ultérieurement pour déterminer s’il a changé. Pour certains types, tels que les collections, il doit s’agir d’une copie complète de la collection plutôt que d’une simple copie superficielle de la référence.

Type

Type.

Méthodes

CreateDefault(Type, Boolean)

Crée une valeur par défaut ValueComparer<T> pour le type donné.

Equals(Object, Object)

Compare les deux instances pour déterminer si elles sont égales.

ExtractEqualsBody(Expression, Expression)

Prend EqualsExpression et remplace les deux paramètres par les expressions données, en retournant le corps transformé.

ExtractHashCodeBody(Expression)

Prend le HashCodeExpression et remplace le paramètre par l’expression donnée, en retournant le corps transformé.

ExtractSnapshotBody(Expression)

Prend le SnapshotExpression et remplace le paramètre par l’expression donnée, en retournant le corps transformé.

GetHashCode(Object)

Retourne le code de hachage pour l’instance donnée.

Snapshot(Object)

Crée un instantané de l’instance donnée.

L’instantané est le processus de création d’une copie de la valeur dans un instantané afin de pouvoir être comparé ultérieurement pour déterminer s’il a changé. Pour certains types, tels que les collections, il doit s’agir d’une copie complète de la collection plutôt que d’une simple copie superficielle de la référence.

Méthodes d’extension

IsDefault(ValueComparer)

Retourne true si le donné ValueComparer est une implémentation de EF Core par défaut.

S’applique à