Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Xml / System / Xml / XPath / XPathNavigatorKeyComparer.cs / 1 / 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. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ProcessHost.cs
- ProjectionRewriter.cs
- FunctionNode.cs
- UserControlAutomationPeer.cs
- TemplatePropertyEntry.cs
- CompilerError.cs
- ClientScriptManager.cs
- MgmtConfigurationRecord.cs
- Rect.cs
- CookielessHelper.cs
- DecoratedNameAttribute.cs
- EventSinkHelperWriter.cs
- TypeDescriptionProviderAttribute.cs
- XmlSchemaComplexType.cs
- metadatamappinghashervisitor.hashsourcebuilder.cs
- ObjectPersistData.cs
- PointCollectionValueSerializer.cs
- ActionMessageFilter.cs
- unsafeIndexingFilterStream.cs
- Int32Converter.cs
- AppDomainUnloadedException.cs
- MonthCalendar.cs
- DeploymentSection.cs
- Soap.cs
- XPathConvert.cs
- EntityDataSourceWrapperPropertyDescriptor.cs
- DocComment.cs
- TextServicesDisplayAttributePropertyRanges.cs
- LinearGradientBrush.cs
- HashCodeCombiner.cs
- SpAudioStreamWrapper.cs
- Misc.cs
- DrawingContextDrawingContextWalker.cs
- DbParameterCollection.cs
- PieceNameHelper.cs
- GatewayDefinition.cs
- ColumnMap.cs
- UniformGrid.cs
- EntityDataSourceContextCreatingEventArgs.cs
- HtmlTableRow.cs
- PDBReader.cs
- TemplateControl.cs
- BaseProcessor.cs
- ChildChangedEventArgs.cs
- RouteParametersHelper.cs
- XmlSerializationGeneratedCode.cs
- DataKey.cs
- SelectedCellsChangedEventArgs.cs
- NameValueConfigurationCollection.cs
- Wildcard.cs
- FilterableAttribute.cs
- SafeRightsManagementSessionHandle.cs
- SyndicationPerson.cs
- LayoutEvent.cs
- XmlAttributeProperties.cs
- XmlSchemaSimpleContentExtension.cs
- StringToken.cs
- EpmContentDeSerializerBase.cs
- AutoScrollExpandMessageFilter.cs
- HtmlObjectListAdapter.cs
- TabletDevice.cs
- FrameworkContentElementAutomationPeer.cs
- PanelContainerDesigner.cs
- TaskHelper.cs
- TemplatedMailWebEventProvider.cs
- UshortList2.cs
- ListBoxItem.cs
- ArrayTypeMismatchException.cs
- ObjectQueryProvider.cs
- TableLayoutPanelCellPosition.cs
- SafeRightsManagementQueryHandle.cs
- MultipleViewProviderWrapper.cs
- Pair.cs
- DataControlPagerLinkButton.cs
- TimeManager.cs
- HeaderUtility.cs
- ErrorTableItemStyle.cs
- ScrollData.cs
- WebSysDefaultValueAttribute.cs
- ObjectSpanRewriter.cs
- SolidColorBrush.cs
- SqlFacetAttribute.cs
- InstanceDataCollectionCollection.cs
- ImageSource.cs
- TextPattern.cs
- SqlMethods.cs
- ProxyWebPart.cs
- XmlComplianceUtil.cs
- Exceptions.cs
- CapabilitiesRule.cs
- SendActivityEventArgs.cs
- ContextBase.cs
- ClientRoleProvider.cs
- DesignSurfaceEvent.cs
- CryptoProvider.cs
- BrushMappingModeValidation.cs
- TagNameToTypeMapper.cs
- SafePointer.cs
- MemberMaps.cs
- VariantWrapper.cs