ValueComparer Класс

Определение

Указывает пользовательское значение значит и сравнение для типов CLR, которые не могут сравниваться с Equals(Object, Object) и/или нуждаются в глубоком или структурном копировании при создании моментального снимка. Например, массивы типов-примитивов потребовали бы, если будут обнаружены изменения.

Значит — это процесс создания копии значения в моментальном снимке, чтобы впоследствии можно было сравнивать его, чтобы определить, изменился ли он. Для некоторых типов, например коллекций, это должно быть глубокая копия коллекции, а не только неполная копия ссылки.

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)
Наследование
ValueComparer
Производный
Реализации

Комментарии

Дополнительные сведения см. в разделе EF Coreные компараторы значений .

Конструкторы

ValueComparer(LambdaExpression, LambdaExpression, LambdaExpression)

Создает новый объект ValueComparer с заданными выражениями сравнения и значит.

Свойства

EqualsExpression

Выражение сравнения.

HashCodeExpression

Выражение хэш-кода.

SnapshotExpression

Выражение моментального снимка.

Значит — это процесс создания копии значения в моментальном снимке, чтобы впоследствии можно было сравнивать его, чтобы определить, изменился ли он. Для некоторых типов, например коллекций, это должно быть глубокая копия коллекции, а не только неполная копия ссылки.

Type

Тип.

Методы

CreateDefault(Type, Boolean)

Создает значение по умолчанию ValueComparer<T> для заданного типа.

Equals(Object, Object)

Сравнивает два экземпляра, чтобы определить, равны ли они.

ExtractEqualsBody(Expression, Expression)

Принимает EqualsExpression и заменяет два параметра заданными выражениями, возвращая преобразованный текст.

ExtractHashCodeBody(Expression)

Принимает HashCodeExpression и заменяет параметр заданным выражением, возвращая преобразованный текст.

ExtractSnapshotBody(Expression)

Принимает SnapshotExpression и заменяет параметр заданным выражением, возвращая преобразованный текст.

GetHashCode(Object)

Возвращает хэш-код для данного экземпляра.

Snapshot(Object)

Создает моментальный снимок заданного экземпляра.

Значит — это процесс создания копии значения в моментальном снимке, чтобы впоследствии можно было сравнивать его, чтобы определить, изменился ли он. Для некоторых типов, например коллекций, это должно быть глубокая копия коллекции, а не только неполная копия ссылки.

Методы расширения

IsDefault(ValueComparer)

Возвращает, true Если данная ValueComparer Реализация EF Core по умолчанию.

Применяется к