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
- GenerateTemporaryAssemblyTask.cs
- CompositeFontParser.cs
- DockEditor.cs
- cookiecontainer.cs
- ConfigXmlElement.cs
- AtlasWeb.Designer.cs
- HtmlContainerControl.cs
- DispatcherExceptionFilterEventArgs.cs
- ResourceDisplayNameAttribute.cs
- DSASignatureFormatter.cs
- SqlDataSourceEnumerator.cs
- ParseChildrenAsPropertiesAttribute.cs
- GetBrowserTokenRequest.cs
- DataGridCell.cs
- ToolStripSplitStackLayout.cs
- TimeSpanSecondsConverter.cs
- BodyGlyph.cs
- DataErrorValidationRule.cs
- TextBoxLine.cs
- TextDataBindingHandler.cs
- DateRangeEvent.cs
- DataListComponentEditor.cs
- DetailsViewPagerRow.cs
- MenuAutomationPeer.cs
- ViewStateException.cs
- DbDataAdapter.cs
- PathGeometry.cs
- WindowsStatusBar.cs
- Run.cs
- SimpleFieldTemplateFactory.cs
- DecoderFallbackWithFailureFlag.cs
- SspiHelper.cs
- Material.cs
- RegexWorker.cs
- TextSelectionHelper.cs
- DataContractJsonSerializerOperationFormatter.cs
- EntityDataSourceDesigner.cs
- BamlLocalizerErrorNotifyEventArgs.cs
- ImageAutomationPeer.cs
- UnmanagedMemoryStream.cs
- ActivityCodeGenerator.cs
- BaseTransportHeaders.cs
- ErrorStyle.cs
- VirtualizedItemPattern.cs
- WindowsPrincipal.cs
- XmlSchemaInfo.cs
- OrCondition.cs
- ProtocolsConfiguration.cs
- BulletedList.cs
- ObjectViewEntityCollectionData.cs
- ThreadStartException.cs
- CopyEncoder.cs
- PartManifestEntry.cs
- DrawingCollection.cs
- TraceInternal.cs
- TabControlCancelEvent.cs
- ItemContainerGenerator.cs
- LoginName.cs
- RIPEMD160Managed.cs
- ProcessThreadCollection.cs
- BigInt.cs
- FileBasedResourceGroveler.cs
- PrePrepareMethodAttribute.cs
- EncoderReplacementFallback.cs
- ConnectionAcceptor.cs
- MediaElementAutomationPeer.cs
- DataServiceHost.cs
- IssuedTokenServiceElement.cs
- DesignerAutoFormatStyle.cs
- TableLayoutSettingsTypeConverter.cs
- DatatypeImplementation.cs
- HttpRuntimeSection.cs
- StorageModelBuildProvider.cs
- SubMenuStyle.cs
- linebase.cs
- SatelliteContractVersionAttribute.cs
- EventProperty.cs
- SubclassTypeValidator.cs
- FileLogRecordHeader.cs
- SubstitutionList.cs
- CellQuery.cs
- HtmlAnchor.cs
- HScrollBar.cs
- HtmlValidatorAdapter.cs
- SettingsBindableAttribute.cs
- EngineSiteSapi.cs
- BitmapData.cs
- ConfigurationLockCollection.cs
- EpmSourcePathSegment.cs
- JournalEntry.cs
- KeyProperty.cs
- Container.cs
- NativeMethodsCLR.cs
- XmlStringTable.cs
- SystemIPv4InterfaceProperties.cs
- StateRuntime.cs
- InfoCardX509Validator.cs
- shaperfactoryquerycachekey.cs
- GroupStyle.cs
- DbConnectionPoolGroupProviderInfo.cs