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
- UserPreferenceChangingEventArgs.cs
- DesignTimeParseData.cs
- __Filters.cs
- ServiceErrorHandler.cs
- SessionKeyExpiredException.cs
- Stylus.cs
- EncodingInfo.cs
- SafeRightsManagementQueryHandle.cs
- TypeToken.cs
- HwndKeyboardInputProvider.cs
- BufferedWebEventProvider.cs
- EncodingFallbackAwareXmlTextWriter.cs
- LayoutTable.cs
- Underline.cs
- PageFunction.cs
- RenderCapability.cs
- VarRefManager.cs
- FileIOPermission.cs
- ExtensionFile.cs
- ContentControl.cs
- ExtensionQuery.cs
- SortQueryOperator.cs
- OrderedDictionary.cs
- XslCompiledTransform.cs
- SessionIDManager.cs
- Int32KeyFrameCollection.cs
- StatusBarItemAutomationPeer.cs
- QueueProcessor.cs
- GridViewRowCollection.cs
- UserUseLicenseDictionaryLoader.cs
- FontDialog.cs
- DynamicMethod.cs
- DynamicUpdateCommand.cs
- FixedSOMContainer.cs
- ButtonDesigner.cs
- WindowsToolbarItemAsMenuItem.cs
- XslVisitor.cs
- Documentation.cs
- PageThemeCodeDomTreeGenerator.cs
- ClrPerspective.cs
- _ProxyChain.cs
- StdValidatorsAndConverters.cs
- TrustLevel.cs
- SimpleLine.cs
- XmlAttributeCache.cs
- ping.cs
- RepeaterItemEventArgs.cs
- SQLCharsStorage.cs
- AliasGenerator.cs
- TdsParserStateObject.cs
- ImageBrush.cs
- MeasureItemEvent.cs
- AppDomain.cs
- StyleSheetComponentEditor.cs
- AssertSection.cs
- XmlILCommand.cs
- HostSecurityManager.cs
- AudioStateChangedEventArgs.cs
- PartBasedPackageProperties.cs
- CodeIdentifier.cs
- MessageAction.cs
- DiagnosticStrings.cs
- HttpRuntimeSection.cs
- XmlWriterDelegator.cs
- DataGridViewComboBoxCell.cs
- CodeDelegateInvokeExpression.cs
- TextProperties.cs
- WmlImageAdapter.cs
- BinaryEditor.cs
- MenuAutomationPeer.cs
- XamlTreeBuilder.cs
- BufferAllocator.cs
- XmlTextEncoder.cs
- SessionStateContainer.cs
- BamlWriter.cs
- Page.cs
- ResourceLoader.cs
- ContentFileHelper.cs
- TextTreeInsertUndoUnit.cs
- Compiler.cs
- ContentDisposition.cs
- DbProviderFactories.cs
- EventListenerClientSide.cs
- MiniMapControl.xaml.cs
- GlobalProxySelection.cs
- DbProviderFactory.cs
- COM2IDispatchConverter.cs
- CodeParameterDeclarationExpression.cs
- DbConnectionPoolGroup.cs
- RangeValueProviderWrapper.cs
- ListViewDataItem.cs
- StateMachineAction.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- RawKeyboardInputReport.cs
- ConnectionPoolManager.cs
- DataGridHeaderBorder.cs
- NameValueFileSectionHandler.cs
- WizardPanel.cs
- Executor.cs
- IpcManager.cs