Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / 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
- XPathNodeIterator.cs
- UnSafeCharBuffer.cs
- OracleTransaction.cs
- CodeTypeDelegate.cs
- XmlIterators.cs
- DataGridViewRowCollection.cs
- StdValidatorsAndConverters.cs
- ColumnHeaderConverter.cs
- SqlCacheDependencySection.cs
- XmlElementAttribute.cs
- DataFormats.cs
- PenContexts.cs
- DetailsViewDeletedEventArgs.cs
- WebServiceClientProxyGenerator.cs
- XmlWrappingReader.cs
- ObjectKeyFrameCollection.cs
- XslAstAnalyzer.cs
- Transform.cs
- GridViewRowEventArgs.cs
- BaseContextMenu.cs
- OperandQuery.cs
- AndCondition.cs
- SmtpNegotiateAuthenticationModule.cs
- HostingEnvironment.cs
- DynamicHyperLink.cs
- ThumbAutomationPeer.cs
- TextRunCache.cs
- WebUtil.cs
- Compilation.cs
- Int16Converter.cs
- DataGridViewUtilities.cs
- BuildManager.cs
- InternalConfigSettingsFactory.cs
- StrokeNodeEnumerator.cs
- SystemIcmpV4Statistics.cs
- KeyboardInputProviderAcquireFocusEventArgs.cs
- XmlSerializerSection.cs
- FilteredReadOnlyMetadataCollection.cs
- BuildProvider.cs
- FileLogRecordHeader.cs
- StrongNameMembershipCondition.cs
- AutoFocusStyle.xaml.cs
- XomlCompiler.cs
- ScriptingProfileServiceSection.cs
- ObjectDesignerDataSourceView.cs
- FrameSecurityDescriptor.cs
- TemplatePartAttribute.cs
- RelatedView.cs
- LinqDataSource.cs
- XmlCountingReader.cs
- AttachedPropertyBrowsableAttribute.cs
- RectAnimationBase.cs
- ObjectToModelValueConverter.cs
- CompositeCollectionView.cs
- SqlTriggerAttribute.cs
- remotingproxy.cs
- TimeEnumHelper.cs
- AbstractSvcMapFileLoader.cs
- EntityParameter.cs
- CachedTypeface.cs
- ZipIOFileItemStream.cs
- precedingquery.cs
- PagePropertiesChangingEventArgs.cs
- OrderByBuilder.cs
- WindowsHyperlink.cs
- RectValueSerializer.cs
- ClientUrlResolverWrapper.cs
- FixedSOMTableCell.cs
- InstanceKeyCompleteException.cs
- CatalogPart.cs
- XmlCharType.cs
- coordinatorfactory.cs
- ValidationHelper.cs
- ProviderSettings.cs
- RowTypeElement.cs
- ITreeGenerator.cs
- DataSourceCache.cs
- StrokeRenderer.cs
- TextSelectionHelper.cs
- VisualStateChangedEventArgs.cs
- StreamGeometry.cs
- Logging.cs
- DataControlCommands.cs
- StylusPointPropertyUnit.cs
- SymLanguageVendor.cs
- MD5.cs
- BufferBuilder.cs
- CurrentChangingEventManager.cs
- BuildManagerHost.cs
- CollectionViewProxy.cs
- ADConnectionHelper.cs
- StringAnimationUsingKeyFrames.cs
- SamlAuthorizationDecisionStatement.cs
- SafeCryptoHandles.cs
- ZipIOBlockManager.cs
- MultiTrigger.cs
- PackagePart.cs
- StackOverflowException.cs
- StringWriter.cs
- PackagePartCollection.cs