Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / clr / src / BCL / System / Collections / CompatibleComparer.cs / 1 / CompatibleComparer.cs
namespace System.Collections { [Serializable()] internal class CompatibleComparer: IEqualityComparer { IComparer _comparer; #pragma warning disable 618 IHashCodeProvider _hcp; internal CompatibleComparer(IComparer comparer, IHashCodeProvider hashCodeProvider) { _comparer = comparer; _hcp = hashCodeProvider; } #pragma warning restore 618 public int Compare(Object a, Object b) { if (a == b) return 0; if (a == null) return -1; if (b == null) return 1; if (_comparer != null) return _comparer.Compare(a,b); IComparable ia = a as IComparable; if (ia != null) return ia.CompareTo(b); throw new ArgumentException(Environment.GetResourceString("Argument_ImplementIComparable")); } public new bool Equals(Object a, Object b) { return Compare(a, b) == 0; } public int GetHashCode(Object obj) { if( obj == null) { throw new ArgumentNullException("obj"); } if (_hcp != null) return _hcp.GetHashCode(obj); return obj.GetHashCode(); } // These are helpers for the Hashtable to query the IKeyComparer infrastructure. internal IComparer Comparer { get { return _comparer; } } // These are helpers for the Hashtable to query the IKeyComparer infrastructure. #pragma warning disable 618 internal IHashCodeProvider HashCodeProvider { get { return _hcp; } } #pragma warning restore 618 } }
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- FormsAuthenticationTicket.cs
- CustomSignedXml.cs
- RegexRunner.cs
- objectresult_tresulttype.cs
- DependencyObject.cs
- XmlSchemaType.cs
- ZipIOExtraFieldPaddingElement.cs
- NavigationProgressEventArgs.cs
- XmlSchemaAny.cs
- ContainerUtilities.cs
- XmlSchemaComplexContent.cs
- AmbientProperties.cs
- ComponentResourceManager.cs
- DbConnectionOptions.cs
- WindowsStatusBar.cs
- __TransparentProxy.cs
- _NestedMultipleAsyncResult.cs
- COAUTHIDENTITY.cs
- CaseCqlBlock.cs
- IndentTextWriter.cs
- ImageBrush.cs
- WebPartConnectionsConnectVerb.cs
- VirtualizedItemPattern.cs
- RawStylusInputReport.cs
- RawStylusInputCustomDataList.cs
- PointCollectionConverter.cs
- BuildProviderAppliesToAttribute.cs
- ObjectCloneHelper.cs
- ToolStripArrowRenderEventArgs.cs
- ListSortDescriptionCollection.cs
- WebBrowserDocumentCompletedEventHandler.cs
- DifferencingCollection.cs
- BuildManagerHost.cs
- DeferredSelectedIndexReference.cs
- XsltFunctions.cs
- DataServiceKeyAttribute.cs
- DbException.cs
- SelectionWordBreaker.cs
- SolidColorBrush.cs
- MethodRental.cs
- ControlFilterExpression.cs
- ImageSourceConverter.cs
- Directory.cs
- ColorContext.cs
- BaseCodeDomTreeGenerator.cs
- SecureStringHasher.cs
- UnionExpr.cs
- SortQuery.cs
- _SSPIWrapper.cs
- WindowsPrincipal.cs
- _CommandStream.cs
- COM2IPerPropertyBrowsingHandler.cs
- ObjectStateEntryOriginalDbUpdatableDataRecord.cs
- DataGridViewSortCompareEventArgs.cs
- UITypeEditors.cs
- KerberosSecurityTokenAuthenticator.cs
- PhysicalOps.cs
- AuthenticationConfig.cs
- EntityDataSource.cs
- Size3DValueSerializer.cs
- SupportsEventValidationAttribute.cs
- ComplexTypeEmitter.cs
- RowSpanVector.cs
- DataObjectEventArgs.cs
- CharKeyFrameCollection.cs
- TargetInvocationException.cs
- GenerateScriptTypeAttribute.cs
- SchemaCollectionPreprocessor.cs
- TaiwanCalendar.cs
- FileAuthorizationModule.cs
- Inflater.cs
- BamlTreeNode.cs
- HwndTarget.cs
- ObjectDataSourceDisposingEventArgs.cs
- ArgumentNullException.cs
- WebPartUtil.cs
- Transform.cs
- KeysConverter.cs
- VariableValue.cs
- BroadcastEventHelper.cs
- Part.cs
- StandardToolWindows.cs
- DetailsViewPagerRow.cs
- HttpCookie.cs
- AppDomainFactory.cs
- SrgsGrammarCompiler.cs
- CssClassPropertyAttribute.cs
- XsdDateTime.cs
- XmlMemberMapping.cs
- ExplicitDiscriminatorMap.cs
- PingReply.cs
- LoginUtil.cs
- ExtensibleClassFactory.cs
- TextAdaptor.cs
- WebConvert.cs
- TextBoxRenderer.cs
- Geometry.cs
- DbConnectionPool.cs
- WebMessageFormatHelper.cs
- RepeaterItemEventArgs.cs