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
- DomainUpDown.cs
- Helper.cs
- XmlSchemaSimpleTypeList.cs
- XmlCustomFormatter.cs
- SubstitutionList.cs
- thaishape.cs
- EventLogException.cs
- SingleKeyFrameCollection.cs
- ValidationEventArgs.cs
- MemberRelationshipService.cs
- Debug.cs
- ContentPropertyAttribute.cs
- FixedSOMTableCell.cs
- FileClassifier.cs
- ControlCommandSet.cs
- DataGridViewTextBoxColumn.cs
- DeclarativeExpressionConditionDeclaration.cs
- DebugTracing.cs
- FirstMatchCodeGroup.cs
- ApplicationFileCodeDomTreeGenerator.cs
- ManifestResourceInfo.cs
- FolderNameEditor.cs
- GlobalProxySelection.cs
- COM2ComponentEditor.cs
- EntityDataSourceColumn.cs
- KoreanLunisolarCalendar.cs
- DocumentOrderComparer.cs
- TableRowGroup.cs
- COM2PropertyBuilderUITypeEditor.cs
- ProtocolsConfigurationEntry.cs
- OrderedDictionaryStateHelper.cs
- ToolStripDropDownMenu.cs
- recordstatefactory.cs
- SourceFilter.cs
- NotifyCollectionChangedEventArgs.cs
- EntityDataSourceReferenceGroup.cs
- IConvertible.cs
- ValueType.cs
- CompilerLocalReference.cs
- XmlSerializationGeneratedCode.cs
- GenericUriParser.cs
- CatalogZoneAutoFormat.cs
- DotExpr.cs
- CompilationLock.cs
- PageFunction.cs
- MatrixKeyFrameCollection.cs
- wgx_render.cs
- PreservationFileWriter.cs
- InputChannel.cs
- BamlTreeUpdater.cs
- XhtmlBasicValidatorAdapter.cs
- ContentType.cs
- __Filters.cs
- TextDecoration.cs
- Encoder.cs
- ChannelManagerBase.cs
- AliasedExpr.cs
- Emitter.cs
- Utility.cs
- Attachment.cs
- DocumentViewerBaseAutomationPeer.cs
- JsonServiceDocumentSerializer.cs
- DragSelectionMessageFilter.cs
- LocalizationParserHooks.cs
- ParameterCollectionEditorForm.cs
- ClientRoleProvider.cs
- PeerTransportElement.cs
- URIFormatException.cs
- TextAutomationPeer.cs
- DbParameterHelper.cs
- querybuilder.cs
- CompilerLocalReference.cs
- NamespaceMapping.cs
- XPathNodePointer.cs
- MsmqIntegrationProcessProtocolHandler.cs
- EntityCommandDefinition.cs
- HttpResponseHeader.cs
- Axis.cs
- RightsManagementProvider.cs
- SrgsElementFactory.cs
- ImageDesigner.cs
- NetSectionGroup.cs
- SpotLight.cs
- ExpandedWrapper.cs
- SspiWrapper.cs
- ListViewInsertionMark.cs
- BrushMappingModeValidation.cs
- _NetRes.cs
- FormsAuthenticationCredentials.cs
- StringPropertyBuilder.cs
- WindowInteropHelper.cs
- AnimationTimeline.cs
- TextProperties.cs
- VideoDrawing.cs
- EndOfStreamException.cs
- TailPinnedEventArgs.cs
- Shape.cs
- SoapElementAttribute.cs
- PoisonMessageException.cs
- SqlStream.cs