-
Notifications
You must be signed in to change notification settings - Fork 1.6k
/
Copy pathReferenceEqualityComparer.xml
163 lines (154 loc) · 9.36 KB
/
ReferenceEqualityComparer.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
<Type Name="ReferenceEqualityComparer" FullName="System.Collections.Generic.ReferenceEqualityComparer">
<TypeSignature Language="C#" Value="public sealed class ReferenceEqualityComparer : System.Collections.Generic.IEqualityComparer<object>, System.Collections.IEqualityComparer" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi sealed beforefieldinit ReferenceEqualityComparer extends System.Object implements class System.Collections.Generic.IEqualityComparer`1<object>, class System.Collections.IEqualityComparer" />
<TypeSignature Language="DocId" Value="T:System.Collections.Generic.ReferenceEqualityComparer" />
<TypeSignature Language="VB.NET" Value="Public NotInheritable Class ReferenceEqualityComparer
Implements IEqualityComparer, IEqualityComparer(Of Object)" />
<TypeSignature Language="F#" Value="type ReferenceEqualityComparer = class
 interface IEqualityComparer<obj>
 interface IEqualityComparer" />
<TypeSignature Language="C++ CLI" Value="public ref class ReferenceEqualityComparer sealed : System::Collections::Generic::IEqualityComparer<System::Object ^>, System::Collections::IEqualityComparer" />
<AssemblyInfo>
<AssemblyName>System.Collections</AssemblyName>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
<AssemblyVersion>10.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Object</BaseTypeName>
</Base>
<Interfaces>
<Interface>
<InterfaceName>System.Collections.Generic.IEqualityComparer<System.Object></InterfaceName>
</Interface>
<Interface>
<InterfaceName>System.Collections.IEqualityComparer</InterfaceName>
</Interface>
</Interfaces>
<Docs>
<summary>An <see cref="T:System.Collections.Generic.IEqualityComparer`1" /> that uses reference equality (<see cref="M:System.Object.ReferenceEquals(System.Object,System.Object)" />) instead of value equality (<see cref="M:System.Object.Equals(System.Object)" />) when comparing two object instances.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The <xref:System.Collections.Generic.ReferenceEqualityComparer> type cannot be instantiated. Instead, use the <xref:System.Collections.Generic.ReferenceEqualityComparer.Instance> property to access the singleton instance of this type.
]]></format>
</remarks>
</Docs>
<Members>
<Member MemberName="Equals">
<MemberSignature Language="C#" Value="public bool Equals (object? x, object? y);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool Equals(object x, object y) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Collections.Generic.ReferenceEqualityComparer.Equals(System.Object,System.Object)" />
<MemberSignature Language="VB.NET" Value="Public Function Equals (x As Object, y As Object) As Boolean" />
<MemberSignature Language="F#" Value="override this.Equals : obj * obj -> bool" Usage="referenceEqualityComparer.Equals (x, y)" />
<MemberSignature Language="C++ CLI" Value="public:
 virtual bool Equals(System::Object ^ x, System::Object ^ y);" />
<MemberType>Method</MemberType>
<Implements>
<InterfaceMember>M:System.Collections.Generic.IEqualityComparer`1.Equals(`0,`0)</InterfaceMember>
<InterfaceMember>M:System.Collections.IEqualityComparer.Equals(System.Object,System.Object)</InterfaceMember>
</Implements>
<AssemblyInfo>
<AssemblyName>System.Collections</AssemblyName>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
<AssemblyVersion>10.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="x" Type="System.Object" />
<Parameter Name="y" Type="System.Object" />
</Parameters>
<Docs>
<param name="x">The first object to compare.</param>
<param name="y">The second object to compare.</param>
<summary>Determines whether two object references refer to the same object instance.</summary>
<returns>
<see langword="true" /> if both <paramref name="x" /> and <paramref name="y" /> refer to the same object instance or if both are <see langword="null" />; otherwise, <see langword="false" />.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This API is a wrapper around <xref:System.Object.ReferenceEquals(System.Object,System.Object)>.
It is not necessarily equivalent to calling <xref:System.Object.Equals(System.Object,System.Object)>.
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="GetHashCode">
<MemberSignature Language="C#" Value="public int GetHashCode (object? obj);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance int32 GetHashCode(object obj) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Collections.Generic.ReferenceEqualityComparer.GetHashCode(System.Object)" />
<MemberSignature Language="VB.NET" Value="Public Function GetHashCode (obj As Object) As Integer" />
<MemberSignature Language="F#" Value="override this.GetHashCode : obj -> int" Usage="referenceEqualityComparer.GetHashCode obj" />
<MemberSignature Language="C++ CLI" Value="public:
 virtual int GetHashCode(System::Object ^ obj);" />
<MemberType>Method</MemberType>
<Implements>
<InterfaceMember>M:System.Collections.Generic.IEqualityComparer`1.GetHashCode(`0)</InterfaceMember>
<InterfaceMember>M:System.Collections.IEqualityComparer.GetHashCode(System.Object)</InterfaceMember>
</Implements>
<AssemblyInfo>
<AssemblyName>System.Collections</AssemblyName>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
<AssemblyVersion>10.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Int32</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="obj" Type="System.Object" />
</Parameters>
<Docs>
<param name="obj">The object for which to retrieve the hash code.</param>
<summary>Returns a hash code for the specified object. The returned hash code is based on the object identity, not on the contents of the object.</summary>
<returns>A hash code for the identity of <paramref name="obj" />.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This API is a wrapper around <xref:System.Runtime.CompilerServices.RuntimeHelpers.GetHashCode(System.Object)>.
It is not necessarily equivalent to calling <xref:System.Object.GetHashCode>.
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="Instance">
<MemberSignature Language="C#" Value="public static System.Collections.Generic.ReferenceEqualityComparer Instance { get; }" />
<MemberSignature Language="ILAsm" Value=".property class System.Collections.Generic.ReferenceEqualityComparer Instance" />
<MemberSignature Language="DocId" Value="P:System.Collections.Generic.ReferenceEqualityComparer.Instance" />
<MemberSignature Language="VB.NET" Value="Public Shared ReadOnly Property Instance As ReferenceEqualityComparer" />
<MemberSignature Language="F#" Value="static member Instance : System.Collections.Generic.ReferenceEqualityComparer" Usage="System.Collections.Generic.ReferenceEqualityComparer.Instance" />
<MemberSignature Language="C++ CLI" Value="public:
 static property System::Collections::Generic::ReferenceEqualityComparer ^ Instance { System::Collections::Generic::ReferenceEqualityComparer ^ get(); };" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Collections</AssemblyName>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
<AssemblyVersion>10.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="net-10.0;net-8.0;net-9.0">
<AttributeName Language="C#">[System.Runtime.CompilerServices.Nullable(1)]</AttributeName>
<AttributeName Language="F#">[<System.Runtime.CompilerServices.Nullable(1)>]</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Collections.Generic.ReferenceEqualityComparer</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets the singleton <see cref="T:System.Collections.Generic.ReferenceEqualityComparer" /> instance.</summary>
<value>To be added.</value>
<remarks>To be added.</remarks>
</Docs>
</Member>
</Members>
</Type>