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
- BeginStoryboard.cs
- Translator.cs
- __ConsoleStream.cs
- MonthCalendar.cs
- BaseParser.cs
- NumberSubstitution.cs
- AnimatedTypeHelpers.cs
- XmlHierarchicalDataSourceView.cs
- ClientType.cs
- WebPartEditorOkVerb.cs
- PreProcessInputEventArgs.cs
- EventLogPermissionEntry.cs
- KnownTypesProvider.cs
- NonSerializedAttribute.cs
- ProviderSettings.cs
- ManagementBaseObject.cs
- ConfigurationManagerHelper.cs
- XPathParser.cs
- InkCanvasSelectionAdorner.cs
- DataGridItem.cs
- LateBoundChannelParameterCollection.cs
- DataControlFieldHeaderCell.cs
- QilDataSource.cs
- StorageAssociationTypeMapping.cs
- SmtpTransport.cs
- ProxyWebPartManager.cs
- StructuralComparisons.cs
- UInt64Storage.cs
- StronglyTypedResourceBuilder.cs
- ResourceDefaultValueAttribute.cs
- ThemeableAttribute.cs
- NetTcpSection.cs
- StorageEndPropertyMapping.cs
- iisPickupDirectory.cs
- DebuggerService.cs
- TextCharacters.cs
- TemplateBuilder.cs
- WebBrowsableAttribute.cs
- Number.cs
- ExpressionVisitor.cs
- SqlDependencyUtils.cs
- XmlComplianceUtil.cs
- IntegerValidatorAttribute.cs
- DataGridViewLinkColumn.cs
- ChtmlCalendarAdapter.cs
- safelink.cs
- FunctionImportElement.cs
- EffectiveValueEntry.cs
- MailMessageEventArgs.cs
- FileNotFoundException.cs
- ChangesetResponse.cs
- XmlNamespaceDeclarationsAttribute.cs
- XmlSchemaCompilationSettings.cs
- ComponentChangingEvent.cs
- EncryptedKey.cs
- MissingMethodException.cs
- ImagingCache.cs
- FlowLayoutPanel.cs
- unitconverter.cs
- SimpleHandlerFactory.cs
- ControlTemplate.cs
- Compiler.cs
- BindingContext.cs
- DecimalStorage.cs
- Converter.cs
- ScriptRegistrationManager.cs
- WebPartVerbCollection.cs
- BasicKeyConstraint.cs
- ColorConverter.cs
- OleServicesContext.cs
- TextTreeTextElementNode.cs
- SoapElementAttribute.cs
- ModelItemCollectionImpl.cs
- SID.cs
- BoolExpr.cs
- DataRowExtensions.cs
- ObjectRef.cs
- DataRowComparer.cs
- dataobject.cs
- TagMapInfo.cs
- DataObject.cs
- SafeNativeMethods.cs
- AuthenticateEventArgs.cs
- CrossAppDomainChannel.cs
- InfoCardMasterKey.cs
- Operand.cs
- UpdateTranslator.cs
- SystemBrushes.cs
- MatrixTransform3D.cs
- MutableAssemblyCacheEntry.cs
- RelationalExpressions.cs
- EnvironmentPermission.cs
- ProcessingInstructionAction.cs
- TypeInitializationException.cs
- RepeaterItemEventArgs.cs
- EntityDataSource.cs
- SharedStatics.cs
- DataGridViewImageColumn.cs
- OrderedHashRepartitionEnumerator.cs
- streamingZipPartStream.cs