Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / NetFx35 / System.ServiceModel.Web / System / UriTemplateEquivalenceComparer.cs / 2 / UriTemplateEquivalenceComparer.cs
//---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------- #pragma warning disable 1634, 1691 // Stops compiler from warning about unknown warnings (for Presharp) namespace System { using System.Collections.Generic; using System.ServiceModel; public class UriTemplateEquivalenceComparer : IEqualityComparer{ static UriTemplateEquivalenceComparer instance; internal static UriTemplateEquivalenceComparer Instance { get { if (instance == null) { // lock-free, fine if we allocate more than one instance = new UriTemplateEquivalenceComparer(); } return instance; } } public bool Equals(UriTemplate x, UriTemplate y) { if (x == null) { return y == null; } return x.IsEquivalentTo(y); } public int GetHashCode(UriTemplate obj) { if (obj == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("obj"); } #pragma warning disable 56506 // obj.xxx is never null // prefer final literal segment (common literal prefixes are common in some scenarios) for (int i = obj.segments.Count - 1; i >= 0; --i) { if (obj.segments[i].Nature == UriTemplatePartType.Literal) { return obj.segments[i].GetHashCode(); } } return obj.segments.Count + obj.queries.Count; #pragma warning restore 56506 } } } // 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
- XmlDataProvider.cs
- ContextMenu.cs
- GC.cs
- Transform3D.cs
- Int32AnimationUsingKeyFrames.cs
- IteratorFilter.cs
- TargetException.cs
- ScrollBar.cs
- ContentType.cs
- AppSecurityManager.cs
- Vector.cs
- ListParagraph.cs
- MergeFailedEvent.cs
- COAUTHIDENTITY.cs
- BuildProviderUtils.cs
- ByteRangeDownloader.cs
- Positioning.cs
- FixedSOMPageElement.cs
- sqlser.cs
- Latin1Encoding.cs
- InternalMappingException.cs
- NativeWindow.cs
- Binding.cs
- SecurityTokenRequirement.cs
- StylusSystemGestureEventArgs.cs
- SmtpTransport.cs
- ErrorStyle.cs
- DataBindingHandlerAttribute.cs
- DataGridViewRowsRemovedEventArgs.cs
- ColorConvertedBitmapExtension.cs
- X509InitiatorCertificateClientElement.cs
- ZipIORawDataFileBlock.cs
- GroupLabel.cs
- DataGridViewColumnEventArgs.cs
- SignedPkcs7.cs
- PointHitTestParameters.cs
- ExpressionDumper.cs
- XsltLibrary.cs
- SplayTreeNode.cs
- EFDataModelProvider.cs
- ListViewItem.cs
- PropertyEmitterBase.cs
- SwitchDesigner.xaml.cs
- InputLanguage.cs
- CriticalFinalizerObject.cs
- Label.cs
- Section.cs
- TemplatingOptionsDialog.cs
- ArgumentValidation.cs
- SubqueryRules.cs
- BasePattern.cs
- CompositeFontInfo.cs
- OverflowException.cs
- TextTreeRootNode.cs
- XhtmlConformanceSection.cs
- FontUnit.cs
- TemplateField.cs
- PreviousTrackingServiceAttribute.cs
- SessionState.cs
- X509Utils.cs
- BindableAttribute.cs
- StringDictionaryEditor.cs
- XmlDataLoader.cs
- WrapPanel.cs
- Certificate.cs
- Viewport3DVisual.cs
- Serializer.cs
- ProcessModelSection.cs
- LogFlushAsyncResult.cs
- PageRanges.cs
- MatrixAnimationUsingPath.cs
- TextLineResult.cs
- DataGridViewRow.cs
- CodeTypeConstructor.cs
- EdmSchemaAttribute.cs
- PersistChildrenAttribute.cs
- SqlTypesSchemaImporter.cs
- securitycriticaldataformultiplegetandset.cs
- Overlapped.cs
- ConfigurationException.cs
- SqlTypeConverter.cs
- ItemsPanelTemplate.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- DbProviderConfigurationHandler.cs
- DiscoveryVersion.cs
- XmlSchemaInferenceException.cs
- LicenseContext.cs
- ChtmlPhoneCallAdapter.cs
- ResourcesGenerator.cs
- RequestNavigateEventArgs.cs
- ResourcePool.cs
- SqlVisitor.cs
- ByteAnimationUsingKeyFrames.cs
- SocketPermission.cs
- DataGridBeginningEditEventArgs.cs
- StreamingContext.cs
- ItemCheckEvent.cs
- StringSorter.cs
- XmlExtensionFunction.cs
- GPPOINTF.cs