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
- ListBindingHelper.cs
- TemplateBindingExtension.cs
- LongCountAggregationOperator.cs
- RoutedCommand.cs
- HashMembershipCondition.cs
- Column.cs
- BitmapDownload.cs
- DesignerDataConnection.cs
- CqlParserHelpers.cs
- BitmapVisualManager.cs
- TraceUtils.cs
- CollectionViewSource.cs
- EventManager.cs
- InstanceCreationEditor.cs
- MemberAssignment.cs
- WebPartCloseVerb.cs
- DataViewManagerListItemTypeDescriptor.cs
- SqlRowUpdatedEvent.cs
- DataGridDesigner.cs
- DbProviderManifest.cs
- WebControlAdapter.cs
- StringExpressionSet.cs
- DataObjectMethodAttribute.cs
- DataSourceListEditor.cs
- JournalEntryStack.cs
- FullTrustAssembly.cs
- MaskedTextProvider.cs
- SqlConnectionHelper.cs
- ConfigurationElementCollection.cs
- Parser.cs
- TrackingServices.cs
- PenContext.cs
- DeviceSpecificChoiceCollection.cs
- ColorMatrix.cs
- System.Data_BID.cs
- AspNetHostingPermission.cs
- ControlCollection.cs
- Size3D.cs
- LabelTarget.cs
- ColumnCollection.cs
- SpellerHighlightLayer.cs
- RegionInfo.cs
- ControlPropertyNameConverter.cs
- BaseUriHelper.cs
- WebPartCatalogCloseVerb.cs
- IResourceProvider.cs
- BindableTemplateBuilder.cs
- DockingAttribute.cs
- BamlLocalizableResourceKey.cs
- WsdlInspector.cs
- SQLBoolean.cs
- XmlDataSourceView.cs
- SecurityCredentialsManager.cs
- UnsafeNativeMethods.cs
- SimpleRecyclingCache.cs
- Matrix3DStack.cs
- ProcessManager.cs
- WriteStateInfoBase.cs
- WsdlBuildProvider.cs
- WebBrowserProgressChangedEventHandler.cs
- SemanticResultKey.cs
- Path.cs
- DataGridItemCollection.cs
- GraphicsState.cs
- FilePrompt.cs
- SoapAttributes.cs
- SchemaImporterExtensionElement.cs
- ReadOnlyAttribute.cs
- ManagedFilter.cs
- X509CertificateValidator.cs
- DataPagerFieldCollection.cs
- ExtendedPropertyCollection.cs
- SurrogateChar.cs
- DataGridViewCheckBoxCell.cs
- Renderer.cs
- DataGridViewSelectedCellsAccessibleObject.cs
- UnsafeNativeMethodsPenimc.cs
- ReversePositionQuery.cs
- GenericAuthenticationEventArgs.cs
- ModelPropertyImpl.cs
- NavigationEventArgs.cs
- SafeBitVector32.cs
- JapaneseCalendar.cs
- CallContext.cs
- BufferedGenericXmlSecurityToken.cs
- ErrorWrapper.cs
- BuildManagerHost.cs
- InvalidComObjectException.cs
- ViewSimplifier.cs
- FontDriver.cs
- RemoteWebConfigurationHost.cs
- HyperLink.cs
- Baml2006ReaderSettings.cs
- TableCellCollection.cs
- XslException.cs
- PerspectiveCamera.cs
- ServiceHttpModule.cs
- AlphaSortedEnumConverter.cs
- EntityDataSourceColumn.cs
- PublisherMembershipCondition.cs