Code:
/ DotNET / DotNET / 8.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
- DataGridViewHitTestInfo.cs
- SHA512Cng.cs
- EntityKeyElement.cs
- SqlReferenceCollection.cs
- SaveLedgerEntryRequest.cs
- BaseTemplateBuildProvider.cs
- RequestQueue.cs
- GlobalizationSection.cs
- XsltLoader.cs
- EnterpriseServicesHelper.cs
- UrlAuthorizationModule.cs
- sqlinternaltransaction.cs
- EUCJPEncoding.cs
- DataSourceXmlClassAttribute.cs
- IISMapPath.cs
- XPathScanner.cs
- ToolbarAUtomationPeer.cs
- EditorPart.cs
- XamlSerializer.cs
- PropertyDescriptorCollection.cs
- ListBindingConverter.cs
- ListViewTableCell.cs
- Border.cs
- SaveFileDialog.cs
- ExpressionBuilder.cs
- CacheChildrenQuery.cs
- TemplateField.cs
- Contracts.cs
- ContentElement.cs
- InputProcessorProfiles.cs
- HostedHttpContext.cs
- SubclassTypeValidatorAttribute.cs
- Rect.cs
- TextSelectionProcessor.cs
- ManagementEventArgs.cs
- PolicyAssertionCollection.cs
- XmlSchemaAll.cs
- ProfileProvider.cs
- TextCompositionManager.cs
- InputQueueChannelAcceptor.cs
- Viewport2DVisual3D.cs
- CompositionAdorner.cs
- HashSetEqualityComparer.cs
- AttributeEmitter.cs
- TypeHelper.cs
- XPathNavigatorReader.cs
- XamlPoint3DCollectionSerializer.cs
- FormsAuthenticationUser.cs
- CompatibleIComparer.cs
- PrinterResolution.cs
- ScopelessEnumAttribute.cs
- DataSourceHelper.cs
- XPathAxisIterator.cs
- ValidatedControlConverter.cs
- FrameworkRichTextComposition.cs
- SqlSelectClauseBuilder.cs
- KeyInterop.cs
- TemplateComponentConnector.cs
- UnicodeEncoding.cs
- TemplateBindingExtension.cs
- DataGridViewRowsRemovedEventArgs.cs
- MetadataItem_Static.cs
- TargetControlTypeAttribute.cs
- AuthenticationManager.cs
- ScrollItemPattern.cs
- CodeAttributeArgument.cs
- TextTreeTextBlock.cs
- ScrollBar.cs
- DataServiceBehavior.cs
- _ListenerRequestStream.cs
- FrameworkPropertyMetadata.cs
- StylusLogic.cs
- UnsafeNativeMethodsPenimc.cs
- BamlResourceContent.cs
- SmtpNetworkElement.cs
- LoadedEvent.cs
- ExpandoClass.cs
- ApplicationContext.cs
- ByeMessageCD1.cs
- Helper.cs
- XmlAttributeAttribute.cs
- RsaEndpointIdentity.cs
- LineServices.cs
- CodeExpressionStatement.cs
- CodeLabeledStatement.cs
- CookieParameter.cs
- PropertyTabChangedEvent.cs
- DataGrid.cs
- SafeThemeHandle.cs
- WasEndpointConfigContainer.cs
- MdiWindowListStrip.cs
- EnumBuilder.cs
- SoapAttributes.cs
- FunctionImportElement.cs
- DbDataReader.cs
- Timer.cs
- RepeatButton.cs
- StylusPointPropertyUnit.cs
- DbParameterCollectionHelper.cs
- OleStrCAMarshaler.cs