Code:
/ DotNET / DotNET / 8.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
- EncryptedHeaderXml.cs
- SqlCharStream.cs
- DesignerValidatorAdapter.cs
- DrawingContextDrawingContextWalker.cs
- DebugHandleTracker.cs
- ColorPalette.cs
- X509ChainElement.cs
- SchemaInfo.cs
- HttpContext.cs
- FreezableCollection.cs
- Content.cs
- UserNameServiceElement.cs
- InstanceKeyCollisionException.cs
- FileUtil.cs
- UnionCodeGroup.cs
- DesignerActionService.cs
- cryptoapiTransform.cs
- ProfileService.cs
- Scene3D.cs
- HandleCollector.cs
- InlinedAggregationOperatorEnumerator.cs
- FileRecordSequenceHelper.cs
- QueryPageSettingsEventArgs.cs
- DynamicQueryableWrapper.cs
- InvalidComObjectException.cs
- CompilationLock.cs
- SqlGatherConsumedAliases.cs
- SqlReferenceCollection.cs
- TextDecorationCollection.cs
- _NestedSingleAsyncResult.cs
- TextEditorMouse.cs
- SafeBitVector32.cs
- ApplicationGesture.cs
- WebBrowserDesigner.cs
- DropDownButton.cs
- StorageInfo.cs
- ByteKeyFrameCollection.cs
- TouchEventArgs.cs
- TemplateBindingExpressionConverter.cs
- CompilerGlobalScopeAttribute.cs
- TrackBarRenderer.cs
- CrossSiteScriptingValidation.cs
- EntityUtil.cs
- DateTimeStorage.cs
- WebExceptionStatus.cs
- ToolboxItemFilterAttribute.cs
- Point3DCollection.cs
- HighContrastHelper.cs
- CollectionViewGroupInternal.cs
- VBCodeProvider.cs
- RepeaterItemCollection.cs
- WebControl.cs
- PriorityBindingExpression.cs
- ThumbAutomationPeer.cs
- SqlBuilder.cs
- ToolBarButton.cs
- EventRouteFactory.cs
- CharAnimationBase.cs
- SettingsSection.cs
- MouseBinding.cs
- ControlParser.cs
- CompensationTokenData.cs
- DefaultSection.cs
- DataGridViewTextBoxEditingControl.cs
- FontWeights.cs
- TreeNodeStyleCollection.cs
- DocumentViewerAutomationPeer.cs
- DataGrid.cs
- WorkflowNamespace.cs
- HtmlValidatorAdapter.cs
- AccessedThroughPropertyAttribute.cs
- SafeReadContext.cs
- UdpMessageProperty.cs
- ClipboardData.cs
- VerificationAttribute.cs
- ArraySegment.cs
- ConfigurationElementCollection.cs
- MediaTimeline.cs
- EntityContainerEntitySet.cs
- StringWriter.cs
- NativeMethods.cs
- RadioButtonRenderer.cs
- DrawingDrawingContext.cs
- DBDataPermission.cs
- EdmItemError.cs
- wgx_commands.cs
- TaiwanLunisolarCalendar.cs
- DataGridViewRowCancelEventArgs.cs
- ScriptComponentDescriptor.cs
- WebPartMinimizeVerb.cs
- Guid.cs
- IndexedString.cs
- EntityClassGenerator.cs
- StringConverter.cs
- DataSourceViewSchemaConverter.cs
- SystemColorTracker.cs
- NameValueCollection.cs
- WebDescriptionAttribute.cs
- _SslStream.cs
- BinaryObjectInfo.cs