Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Xml / System / Xml / XPath / XPathNavigatorKeyComparer.cs / 1305376 / XPathNavigatorKeyComparer.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- using System.IO; using System.Xml.Schema; using System.Collections; using System.Diagnostics; using MS.Internal.Xml.Cache; namespace System.Xml.XPath { internal class XPathNavigatorKeyComparer : IEqualityComparer { bool IEqualityComparer.Equals( Object obj1, Object obj2 ) { XPathNavigator nav1 = obj1 as XPathNavigator; XPathNavigator nav2 = obj2 as XPathNavigator; if( ( nav1 != null ) && ( nav2 != null ) ) { if( nav1.IsSamePosition( nav2 ) ) return true; } return false; } int IEqualityComparer.GetHashCode ( Object obj ) { int hashCode; XPathNavigator nav; XPathDocumentNavigator xpdocNav; if (obj == null) { throw new ArgumentNullException("obj"); } else if ( null != (xpdocNav = obj as XPathDocumentNavigator) ) { hashCode = xpdocNav.GetPositionHashCode(); } else if( null != (nav = obj as XPathNavigator) ) { Object underlyingObject = nav.UnderlyingObject; if (underlyingObject != null) { hashCode = underlyingObject.GetHashCode(); } else { hashCode = (int)nav.NodeType; hashCode ^= nav.LocalName.GetHashCode(); hashCode ^= nav.Prefix.GetHashCode(); hashCode ^= nav.NamespaceURI.GetHashCode(); } } else { hashCode = obj.GetHashCode(); } return hashCode; } } } // 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
- WorkflowRuntimeService.cs
- ConstructorBuilder.cs
- DataGridState.cs
- SafeEventLogWriteHandle.cs
- InheritanceContextHelper.cs
- CodeDOMUtility.cs
- SmiMetaData.cs
- TimelineGroup.cs
- QuadraticBezierSegment.cs
- StorageModelBuildProvider.cs
- XmlEncodedRawTextWriter.cs
- RowTypePropertyElement.cs
- InnerItemCollectionView.cs
- TimeStampChecker.cs
- FileDetails.cs
- ConnectionManagementSection.cs
- WebPartConnectionsEventArgs.cs
- CompilerInfo.cs
- FrameSecurityDescriptor.cs
- ViewStateException.cs
- XmlDocumentType.cs
- SiteMapNodeItemEventArgs.cs
- TextElement.cs
- CompiledRegexRunnerFactory.cs
- MonitorWrapper.cs
- GridViewCancelEditEventArgs.cs
- ResourceDescriptionAttribute.cs
- PropertyEntry.cs
- VBCodeProvider.cs
- ImageMetadata.cs
- DefaultEvaluationContext.cs
- DataRowComparer.cs
- FragmentNavigationEventArgs.cs
- WindowsPen.cs
- ConfigXmlAttribute.cs
- ContainerActivationHelper.cs
- Point3DCollection.cs
- RuleSetBrowserDialog.cs
- EqualityComparer.cs
- SqlRemoveConstantOrderBy.cs
- BooleanFunctions.cs
- _SingleItemRequestCache.cs
- BitmapCodecInfoInternal.cs
- QuaternionRotation3D.cs
- IteratorDescriptor.cs
- ConfigurationValidatorBase.cs
- TableLayoutCellPaintEventArgs.cs
- SqlRowUpdatingEvent.cs
- HijriCalendar.cs
- BooleanFunctions.cs
- DbConnectionStringBuilder.cs
- StorageEntityContainerMapping.cs
- MultipleCopiesCollection.cs
- CubicEase.cs
- Gdiplus.cs
- ColumnWidthChangingEvent.cs
- ListDictionary.cs
- XDRSchema.cs
- XmlAttributeCache.cs
- QueryCacheKey.cs
- MostlySingletonList.cs
- TablePattern.cs
- DataTemplate.cs
- ManualResetEvent.cs
- ObjectAnimationBase.cs
- EntityContainerEntitySet.cs
- Point4DValueSerializer.cs
- ProviderBase.cs
- ClockController.cs
- FixedPageStructure.cs
- ModifiableIteratorCollection.cs
- DomainLiteralReader.cs
- TablePattern.cs
- PointValueSerializer.cs
- AppDomainManager.cs
- Column.cs
- FacetEnabledSchemaElement.cs
- Semaphore.cs
- WebRequestModulesSection.cs
- embossbitmapeffect.cs
- FrameworkContextData.cs
- XmlEnumAttribute.cs
- objectresult_tresulttype.cs
- XPathDescendantIterator.cs
- ReferenceConverter.cs
- SimpleBitVector32.cs
- OdbcInfoMessageEvent.cs
- WindowsContainer.cs
- XmlnsPrefixAttribute.cs
- XamlToRtfParser.cs
- ButtonDesigner.cs
- SplashScreenNativeMethods.cs
- XmlEntityReference.cs
- MessageQueuePermissionAttribute.cs
- ReflectionServiceProvider.cs
- InputScopeAttribute.cs
- DataGridSortingEventArgs.cs
- ExceptionHandlerDesigner.cs
- XmlSchemaValidator.cs
- SqlConnectionManager.cs