ValueComparer<T> Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Určuje snímkování a porovnání vlastních hodnot pro typy CLR, které se při pořizování snímku nedají porovnat Equals(Object, Object) nebo potřebují hloubkovou kopii. Například pole primitivních typů budou vyžadovat obojí, pokud bude zjištěna mutace.
[System.Runtime.CompilerServices.Nullable(0)]
public class ValueComparer<T> : Microsoft.EntityFrameworkCore.ChangeTracking.ValueComparer, System.Collections.Generic.IEqualityComparer<T>
public class ValueComparer<T> : Microsoft.EntityFrameworkCore.ChangeTracking.ValueComparer, System.Collections.Generic.IEqualityComparer<T>
[<System.Runtime.CompilerServices.Nullable(0)>]
type ValueComparer<'T> = class
inherit ValueComparer
interface IEqualityComparer<'T>
type ValueComparer<'T> = class
inherit ValueComparer
interface IEqualityComparer<'T>
Public Class ValueComparer(Of T)
Inherits ValueComparer
Implements IEqualityComparer(Of T)
Parametry typu
- T
Typ.
- Dědičnost
- Odvozené
- Atributy
- Implementuje
Poznámky
Vytváření snímků je proces vytvoření kopie hodnoty do snímku, aby bylo možné ji později porovnat a zjistit, jestli se změnila. U některých typů, jako jsou kolekce, to musí být hloubková kopie kolekce, nikoli jen mělká kopie odkazu.
Další informace a příklady najdete v porovnání hodnot EF Core .
Konstruktory
| Název | Description |
|---|---|
| ValueComparer<T>(Boolean) |
Vytvoří nový ValueComparer<T> s výchozím porovnávaným výrazem a mělkou kopií snímku. |
| ValueComparer<T>(Expression<Func<T,T,Boolean>>, Expression<Func<T,Int32>>, Expression<Func<T,T>>) |
Vytvoří nový ValueComparer<T> s daným porovnáním a vytvářením snímků výrazů. |
| ValueComparer<T>(Expression<Func<T,T,Boolean>>, Expression<Func<T,Int32>>) |
Vytvoří novou ValueComparer<T> s daným porovnávaným výrazem. Pro snímek se použije mělká kopie. |
Vlastnosti
| Název | Description |
|---|---|
| ConstructorExpression |
Výraz představující konstrukci tohoto objektu. |
| Default |
Výchozí hodnota ValueComparer<T> pro |
| DefaultWithStructuralComparisons |
Výchozí hodnota ValueComparer<T> pro |
| EqualsExpression |
Výraz porovnání. |
| HashCodeExpression |
Výraz kódu hash. |
| ObjectEqualsExpression |
Výraz porovnání objektů. |
| SnapshotExpression |
Výraz snímku. |
| Type |
Typ. |
Metody
| Název | Description |
|---|---|
| CreateDefaultEqualsExpression() |
Vytvoří výraz pro rovnost. |
| CreateDefaultHashCodeExpression(Boolean) |
Vytvoří výraz pro generování kódu hash. |
| CreateDefaultSnapshotExpression(Boolean) |
Vytvoří výraz pro vytvoření snímku hodnoty. |
| Equals(Object, Object) |
Porovná tyto dvě instance a určí, jestli jsou stejné. |
| Equals(T, T) |
Porovná tyto dvě instance a určí, jestli jsou stejné. |
| ExtractEqualsBody(Expression, Expression) |
Vezme EqualsExpression a nahradí dva parametry danými výrazy a vrátí transformovaný text. (Zděděno od ValueComparer) |
| ExtractHashCodeBody(Expression) |
HashCodeExpression Vezme a nahradí parametr daným výrazem a vrátí transformovaný text. (Zděděno od ValueComparer) |
| ExtractSnapshotBody(Expression) |
SnapshotExpression Vezme a nahradí parametr daným výrazem a vrátí transformovaný text. (Zděděno od ValueComparer) |
| GetHashCode(Object) |
Vrátí kód hash pro danou instanci. |
| GetHashCode(T) |
Vrátí kód hash pro danou instanci. |
| Snapshot(Object) |
Vytvoří snímek dané instance. |
| Snapshot(T) |
Vytvoří snímek dané instance. |
Metody rozšíření
| Název | Description |
|---|---|
| IsDefault(ValueComparer) |
Vrátí |