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
- EntityDataSourceWrapperPropertyDescriptor.cs
- SecureStringHasher.cs
- DataViewManagerListItemTypeDescriptor.cs
- GeometryDrawing.cs
- DebugView.cs
- Int32RectConverter.cs
- Perspective.cs
- ModifierKeysValueSerializer.cs
- DataConnectionHelper.cs
- IndexedGlyphRun.cs
- SoapClientProtocol.cs
- EndPoint.cs
- InputLangChangeEvent.cs
- EntityViewGenerator.cs
- DocumentApplicationJournalEntry.cs
- Signature.cs
- BackStopAuthenticationModule.cs
- FtpRequestCacheValidator.cs
- DefaultAuthorizationContext.cs
- CodeAttributeArgumentCollection.cs
- NetworkAddressChange.cs
- ExceptionUtility.cs
- CharEnumerator.cs
- AccessKeyManager.cs
- SerializationObjectManager.cs
- QueryExpr.cs
- RemoteWebConfigurationHost.cs
- PointLightBase.cs
- SerializationAttributes.cs
- SHA512.cs
- Ray3DHitTestResult.cs
- RuleSettings.cs
- TargetException.cs
- StrongNamePublicKeyBlob.cs
- PerfCounters.cs
- TableRowsCollectionEditor.cs
- RC2.cs
- GridViewUpdatedEventArgs.cs
- PeerNameRecordCollection.cs
- UrlMappingsModule.cs
- CodeTypeReferenceExpression.cs
- IPAddressCollection.cs
- EncryptedData.cs
- NetworkAddressChange.cs
- EventNotify.cs
- Roles.cs
- BamlRecordHelper.cs
- TemplateControlParser.cs
- BaseDataList.cs
- HttpResponseHeader.cs
- HttpPostLocalhostServerProtocol.cs
- _OSSOCK.cs
- MissingMethodException.cs
- HandledEventArgs.cs
- ColorTransformHelper.cs
- RuntimeHelpers.cs
- FloaterBaseParaClient.cs
- PropertyRef.cs
- _ConnectOverlappedAsyncResult.cs
- DataBindEngine.cs
- GlobalAclOperationRequirement.cs
- FileChangesMonitor.cs
- FilterException.cs
- TemplateBamlRecordReader.cs
- XmlDeclaration.cs
- XmlWellformedWriter.cs
- DrawingContext.cs
- Point3D.cs
- LocalizeDesigner.cs
- CodeCompileUnit.cs
- SchemaElementLookUpTable.cs
- SapiRecoInterop.cs
- IgnoreSectionHandler.cs
- AnnouncementInnerClientCD1.cs
- COM2TypeInfoProcessor.cs
- DependencyObject.cs
- CustomBindingElement.cs
- CallbackHandler.cs
- CreateUserWizardAutoFormat.cs
- RandomNumberGenerator.cs
- SafeCryptContextHandle.cs
- FontUnitConverter.cs
- HttpProfileBase.cs
- CallSiteBinder.cs
- EncryptedData.cs
- ActivationArguments.cs
- userdatakeys.cs
- Memoizer.cs
- ClientSettingsProvider.cs
- WinFormsSecurity.cs
- MultiView.cs
- BCLDebug.cs
- XmlConvert.cs
- CriticalHandle.cs
- SmtpNtlmAuthenticationModule.cs
- DragEvent.cs
- EdmFunction.cs
- ReadingWritingEntityEventArgs.cs
- CustomWebEventKey.cs
- XmlReflectionImporter.cs