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
- ActivityIdHeader.cs
- ElementMarkupObject.cs
- ListViewItemMouseHoverEvent.cs
- EntityParameterCollection.cs
- WebPartVerbCollection.cs
- HostedNamedPipeTransportManager.cs
- SoapEnvelopeProcessingElement.cs
- Pen.cs
- DataColumnChangeEvent.cs
- ProviderSettings.cs
- StylusPoint.cs
- MaskedTextBoxDesignerActionList.cs
- XmlReflectionMember.cs
- MyContact.cs
- SafeTimerHandle.cs
- TraceRecords.cs
- panel.cs
- Brush.cs
- HitTestParameters.cs
- counter.cs
- NumberFormatInfo.cs
- SQLDateTime.cs
- TypeTypeConverter.cs
- ReverseComparer.cs
- TextAction.cs
- BinaryNode.cs
- DbReferenceCollection.cs
- AutomationProperty.cs
- InputGestureCollection.cs
- TabRenderer.cs
- ModuleBuilder.cs
- FormattedTextSymbols.cs
- _Rfc2616CacheValidators.cs
- ProfilePropertySettings.cs
- CodeComment.cs
- DataGridViewRowContextMenuStripNeededEventArgs.cs
- TextParaLineResult.cs
- QueryContinueDragEvent.cs
- TextRangeEdit.cs
- OleDbTransaction.cs
- CookielessHelper.cs
- TemplateEditingFrame.cs
- RedirectionProxy.cs
- NameObjectCollectionBase.cs
- WebPartManagerInternals.cs
- TextReader.cs
- TrustLevelCollection.cs
- FastEncoderWindow.cs
- ISCIIEncoding.cs
- PaintEvent.cs
- SerializableReadOnlyDictionary.cs
- AspProxy.cs
- TextMetrics.cs
- XsdDataContractExporter.cs
- ReliableInputConnection.cs
- UIPermission.cs
- MediaElement.cs
- ContentPlaceHolder.cs
- DataIdProcessor.cs
- CqlWriter.cs
- TrackPointCollection.cs
- WindowsSpinner.cs
- Screen.cs
- WebPartAuthorizationEventArgs.cs
- QilInvokeEarlyBound.cs
- COM2ComponentEditor.cs
- ToolStripSplitStackLayout.cs
- MailMessageEventArgs.cs
- TextCompositionManager.cs
- SqlDeflator.cs
- HiddenFieldPageStatePersister.cs
- RNGCryptoServiceProvider.cs
- SHA512.cs
- ScriptBehaviorDescriptor.cs
- SortableBindingList.cs
- CapacityStreamGeometryContext.cs
- VisualState.cs
- CodeTypeReferenceExpression.cs
- Emitter.cs
- RenameRuleObjectDialog.cs
- CalendarTable.cs
- IsolatedStorageFileStream.cs
- WebContext.cs
- UserControlCodeDomTreeGenerator.cs
- ComponentSerializationService.cs
- SharedPerformanceCounter.cs
- VirtualPath.cs
- ClientType.cs
- MdiWindowListStrip.cs
- LocationSectionRecord.cs
- errorpatternmatcher.cs
- LiteralSubsegment.cs
- WriteTimeStream.cs
- EmptyControlCollection.cs
- TimeEnumHelper.cs
- DataGridViewRowCollection.cs
- BevelBitmapEffect.cs
- ToolStripItemDesigner.cs
- HashCodeCombiner.cs
- CreatingCookieEventArgs.cs