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
- MarkupCompilePass1.cs
- GridItem.cs
- DataServiceContext.cs
- SqlCachedBuffer.cs
- NameValueConfigurationCollection.cs
- ActivityFunc.cs
- BaseTemplateCodeDomTreeGenerator.cs
- ConvertEvent.cs
- LocatorBase.cs
- BitmapEffectInputConnector.cs
- Vertex.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- FieldAccessException.cs
- BamlLocalizationDictionary.cs
- ObservableCollectionDefaultValueFactory.cs
- RijndaelManaged.cs
- SchemaNamespaceManager.cs
- BigInt.cs
- CompiledAction.cs
- RegisteredHiddenField.cs
- XmlSchemaParticle.cs
- Environment.cs
- NavigationProperty.cs
- DisableDpiAwarenessAttribute.cs
- SafeNativeMethodsCLR.cs
- SQLDateTime.cs
- ContentWrapperAttribute.cs
- UnsafeNativeMethodsPenimc.cs
- IdentityNotMappedException.cs
- CqlGenerator.cs
- ValidatorCompatibilityHelper.cs
- __Filters.cs
- MarginsConverter.cs
- FocusTracker.cs
- Page.cs
- ISAPIApplicationHost.cs
- BamlLocalizableResource.cs
- WebHttpEndpointElement.cs
- TreeBuilderBamlTranslator.cs
- BinHexDecoder.cs
- SqlProviderManifest.cs
- GlobalProxySelection.cs
- SafeRightsManagementHandle.cs
- BaseInfoTable.cs
- sortedlist.cs
- RijndaelManagedTransform.cs
- QuestionEventArgs.cs
- processwaithandle.cs
- ToolStripDropTargetManager.cs
- DesignerToolboxInfo.cs
- RtType.cs
- filewebresponse.cs
- DataServiceQueryProvider.cs
- BuildProvider.cs
- ToolStripComboBox.cs
- XmlSignificantWhitespace.cs
- ConstantSlot.cs
- ControlPropertyNameConverter.cs
- OdbcTransaction.cs
- ListView.cs
- ToolStripSeparator.cs
- BaseParaClient.cs
- RoutedEventArgs.cs
- DesignerActionPanel.cs
- AsymmetricKeyExchangeFormatter.cs
- AttachedPropertyBrowsableForChildrenAttribute.cs
- InstanceData.cs
- SafeRightsManagementEnvironmentHandle.cs
- CodeCatchClauseCollection.cs
- DynamicVirtualDiscoSearcher.cs
- CertificateElement.cs
- Misc.cs
- PageCodeDomTreeGenerator.cs
- SystemIcmpV6Statistics.cs
- ObjectQuery_EntitySqlExtensions.cs
- OleDbReferenceCollection.cs
- BreadCrumbTextConverter.cs
- AssertSection.cs
- AsmxEndpointPickerExtension.cs
- WeakEventManager.cs
- TrackingProfile.cs
- GeometryHitTestParameters.cs
- figurelength.cs
- TextOnlyOutput.cs
- ExtendedProtectionPolicy.cs
- SqlPersonalizationProvider.cs
- XmlDomTextWriter.cs
- XmlEnumAttribute.cs
- DataSourceXmlSerializer.cs
- documentsequencetextpointer.cs
- XomlCompiler.cs
- InvalidComObjectException.cs
- TypeElementCollection.cs
- SourceInterpreter.cs
- SyndicationFeed.cs
- ViewCellSlot.cs
- Int64.cs
- HostUtils.cs
- PeerInvitationResponse.cs
- SignedXml.cs