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
- ControllableStoryboardAction.cs
- PerformanceCounterPermissionEntry.cs
- AppPool.cs
- SqlConnectionString.cs
- AppSettingsReader.cs
- VisualStyleInformation.cs
- KnownBoxes.cs
- WebContext.cs
- DataSourceXmlSerializer.cs
- EventRoute.cs
- EncryptedType.cs
- SiteMapNodeCollection.cs
- EventRouteFactory.cs
- GlobalizationSection.cs
- SaveFileDialogDesigner.cs
- DocumentSchemaValidator.cs
- Clipboard.cs
- StringUtil.cs
- StorageAssociationTypeMapping.cs
- DataColumnChangeEvent.cs
- InlineCollection.cs
- FunctionQuery.cs
- AssociatedControlConverter.cs
- PtsHelper.cs
- TextEditorCharacters.cs
- StreamResourceInfo.cs
- VisemeEventArgs.cs
- Wildcard.cs
- EditorPart.cs
- ToolStripOverflow.cs
- PageRouteHandler.cs
- AesCryptoServiceProvider.cs
- PasswordRecovery.cs
- TableLayoutSettings.cs
- PeerInvitationResponse.cs
- Italic.cs
- TextElementEnumerator.cs
- EditorBrowsableAttribute.cs
- CompositeControl.cs
- PerformanceCounterCategory.cs
- InstanceKey.cs
- DynamicMetaObject.cs
- StateMachineWorkflow.cs
- OleDbException.cs
- TextTabProperties.cs
- ScriptingSectionGroup.cs
- DataGridViewCellFormattingEventArgs.cs
- querybuilder.cs
- XmlWriterSettings.cs
- DynamicValidator.cs
- TextEvent.cs
- DesignerDataRelationship.cs
- SyndicationSerializer.cs
- MapPathBasedVirtualPathProvider.cs
- PackageRelationshipSelector.cs
- TableLayoutPanelBehavior.cs
- DataServiceCollectionOfT.cs
- RegexGroupCollection.cs
- DesignerSerializationVisibilityAttribute.cs
- OrElse.cs
- ResourceBinder.cs
- CodeExpressionCollection.cs
- MemoryMappedViewAccessor.cs
- AnimationClockResource.cs
- DiscreteKeyFrames.cs
- TripleDESCryptoServiceProvider.cs
- cookie.cs
- LabelEditEvent.cs
- Window.cs
- ReadOnlyDataSourceView.cs
- DataSourceControl.cs
- EventSinkHelperWriter.cs
- NavigationHelper.cs
- UrlPath.cs
- Keywords.cs
- typedescriptorpermissionattribute.cs
- RbTree.cs
- GiveFeedbackEvent.cs
- SystemKeyConverter.cs
- ValidateNames.cs
- Brush.cs
- Rect.cs
- HttpCookiesSection.cs
- COM2FontConverter.cs
- SQLMembershipProvider.cs
- ResizeGrip.cs
- TreeNodeStyle.cs
- EventManager.cs
- AtomParser.cs
- KeyPullup.cs
- SqlClientFactory.cs
- Control.cs
- Menu.cs
- IApplicationTrustManager.cs
- Calendar.cs
- HexParser.cs
- LayoutEditorPart.cs
- MarshalByValueComponent.cs
- MetadataCacheItem.cs
- ObjectStorage.cs