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
- LockCookie.cs
- DataSourceXmlClassAttribute.cs
- InstanceOwnerQueryResult.cs
- ZipIOLocalFileDataDescriptor.cs
- DecodeHelper.cs
- AttachedAnnotationChangedEventArgs.cs
- GridViewHeaderRowPresenter.cs
- ValuePattern.cs
- StrongBox.cs
- DependencyPropertyChangedEventArgs.cs
- ToolStripSeparator.cs
- ObjectDisposedException.cs
- ConstraintCollection.cs
- ObjectKeyFrameCollection.cs
- Context.cs
- CodeDOMUtility.cs
- DateTimePicker.cs
- ImagingCache.cs
- ReferenceConverter.cs
- webeventbuffer.cs
- ZipIOLocalFileHeader.cs
- SystemIPGlobalStatistics.cs
- ControlSerializer.cs
- EntityContainer.cs
- EventTrigger.cs
- XmlQuerySequence.cs
- DisplayNameAttribute.cs
- DataBoundControl.cs
- CryptoHelper.cs
- QueryOperatorEnumerator.cs
- SignatureDescription.cs
- DesignerValidatorAdapter.cs
- ipaddressinformationcollection.cs
- SQLBytes.cs
- LoginUtil.cs
- Expressions.cs
- CodeIdentifier.cs
- SessionPageStateSection.cs
- TextServicesContext.cs
- OleCmdHelper.cs
- BitmapEffectDrawingContent.cs
- EncoderBestFitFallback.cs
- XmlSchemaParticle.cs
- XsltFunctions.cs
- BuiltInPermissionSets.cs
- ListControlConvertEventArgs.cs
- SerialReceived.cs
- SafeMILHandle.cs
- ArrayTypeMismatchException.cs
- DoubleConverter.cs
- XmlSchemaCollection.cs
- SerialReceived.cs
- _Semaphore.cs
- AttributeQuery.cs
- OpenTypeLayout.cs
- followingsibling.cs
- FacetDescriptionElement.cs
- WebPartAddingEventArgs.cs
- DataGridViewLinkColumn.cs
- FixedStringLookup.cs
- ListArgumentProvider.cs
- EmptyStringExpandableObjectConverter.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- SessionIDManager.cs
- ProfileSection.cs
- ReadOnlyCollectionBase.cs
- IPipelineRuntime.cs
- RadioButton.cs
- OdbcInfoMessageEvent.cs
- FontSizeConverter.cs
- ScrollBarRenderer.cs
- XmlNotation.cs
- CodeMethodReturnStatement.cs
- CriticalExceptions.cs
- DetailsViewDeleteEventArgs.cs
- ObjectParameterCollection.cs
- Literal.cs
- WorkflowMessageEventArgs.cs
- EntityContainerEmitter.cs
- DataGridHeaderBorder.cs
- StagingAreaInputItem.cs
- XmlSerializableWriter.cs
- SecurityTokenResolver.cs
- EntityRecordInfo.cs
- EditorPart.cs
- BitConverter.cs
- HttpCachePolicy.cs
- Compiler.cs
- ValueTable.cs
- BidPrivateBase.cs
- DiagnosticSection.cs
- DataObjectSettingDataEventArgs.cs
- XmlSerializer.cs
- EngineSiteSapi.cs
- WizardForm.cs
- CaseInsensitiveComparer.cs
- PrivilegedConfigurationManager.cs
- DataSourceView.cs
- ColumnHeaderConverter.cs
- handlecollector.cs