Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / ndp / clr / src / BCL / System / Collections / CompatibleComparer.cs / 1 / CompatibleComparer.cs
// Copyright (c) Microsoft Corporation. All rights reserved. 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 } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- FileNotFoundException.cs
- BitmapEffectInputConnector.cs
- mediapermission.cs
- DataGridComponentEditor.cs
- StrokeRenderer.cs
- SecurityUtils.cs
- UInt32.cs
- HttpCachePolicy.cs
- ScriptResourceInfo.cs
- SiteIdentityPermission.cs
- Message.cs
- CodePageUtils.cs
- ObjectDisposedException.cs
- WebPartCatalogAddVerb.cs
- TextModifierScope.cs
- TextRangeSerialization.cs
- IndependentlyAnimatedPropertyMetadata.cs
- StorageInfo.cs
- CardSpaceException.cs
- EndpointAddress.cs
- ObjectPropertyMapping.cs
- GenerateScriptTypeAttribute.cs
- TextTreeText.cs
- ConsoleEntryPoint.cs
- ToolStripEditorManager.cs
- DataServiceKeyAttribute.cs
- InstanceHandleConflictException.cs
- ContainerControl.cs
- RC2.cs
- QuestionEventArgs.cs
- XmlHierarchicalDataSourceView.cs
- EnumConverter.cs
- DebuggerService.cs
- DataViewManager.cs
- CollectionViewGroupRoot.cs
- SspiSafeHandles.cs
- FtpRequestCacheValidator.cs
- AxisAngleRotation3D.cs
- ellipse.cs
- TogglePatternIdentifiers.cs
- XPathNode.cs
- WsdlInspector.cs
- PropertyValueUIItem.cs
- OleDbWrapper.cs
- ParameterDataSourceExpression.cs
- WebPartCancelEventArgs.cs
- TextRangeEditTables.cs
- SessionPageStatePersister.cs
- HMACSHA512.cs
- ExpressionEditorSheet.cs
- ValidationHelper.cs
- SqlDataSourceSummaryPanel.cs
- SqlCharStream.cs
- FormViewPagerRow.cs
- ExceptionWrapper.cs
- ExcCanonicalXml.cs
- XmlIlTypeHelper.cs
- diagnosticsswitches.cs
- FilteredDataSetHelper.cs
- SqlBooleanizer.cs
- SyndicationContent.cs
- Tablet.cs
- BufferCache.cs
- ProtocolViolationException.cs
- CalendarDataBindingHandler.cs
- DispatcherFrame.cs
- Socket.cs
- GridEntry.cs
- BitmapSizeOptions.cs
- Int32Collection.cs
- PackageController.cs
- MarkerProperties.cs
- SerialStream.cs
- DynamicControlParameter.cs
- RegexTree.cs
- SectionInput.cs
- AsyncCompletedEventArgs.cs
- ObjectReferenceStack.cs
- ClientRolePrincipal.cs
- QueryOperatorEnumerator.cs
- EntityReference.cs
- TraceEventCache.cs
- XamlSerializerUtil.cs
- COAUTHIDENTITY.cs
- VerbConverter.cs
- BindingExpression.cs
- TextTreeObjectNode.cs
- HuffCodec.cs
- HttpConfigurationSystem.cs
- BaseAutoFormat.cs
- ServiceDebugBehavior.cs
- Panel.cs
- BackgroundFormatInfo.cs
- diagnosticsswitches.cs
- PlatformCulture.cs
- PropertySourceInfo.cs
- TreeNodeCollection.cs
- ColorAnimationUsingKeyFrames.cs
- BaseParagraph.cs
- TPLETWProvider.cs