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
- ResXResourceReader.cs
- ExpressionTextBoxAutomationPeer.cs
- QueryCursorEventArgs.cs
- CriticalExceptions.cs
- RelationalExpressions.cs
- TextTreeText.cs
- FastEncoder.cs
- ObjectTag.cs
- SizeF.cs
- DataGridBoundColumn.cs
- DbConnectionPoolGroupProviderInfo.cs
- NativeMethods.cs
- WebPartConnectionsConfigureVerb.cs
- PolyLineSegmentFigureLogic.cs
- HttpProfileBase.cs
- ContextProperty.cs
- CommandID.cs
- Visual3D.cs
- XomlCompiler.cs
- TreeNodeCollection.cs
- RayMeshGeometry3DHitTestResult.cs
- RenamedEventArgs.cs
- DataKey.cs
- DynamicQueryableWrapper.cs
- VectorCollection.cs
- DbMetaDataCollectionNames.cs
- XmlSerializer.cs
- GeneralTransform.cs
- ResourceReferenceExpressionConverter.cs
- DebugInfoExpression.cs
- PermissionAttributes.cs
- tooltip.cs
- XhtmlBasicTextViewAdapter.cs
- IDQuery.cs
- ProcessHostFactoryHelper.cs
- hwndwrapper.cs
- CodeCatchClauseCollection.cs
- AssemblyNameProxy.cs
- AsyncResult.cs
- SQLDateTime.cs
- InfoCardServiceInstallComponent.cs
- XmlArrayAttribute.cs
- SyntaxCheck.cs
- HtmlMeta.cs
- PropertyValueUIItem.cs
- BaseDataBoundControl.cs
- LicFileLicenseProvider.cs
- UnsafeNetInfoNativeMethods.cs
- InterleavedZipPartStream.cs
- DesignerHelpers.cs
- TrackingServices.cs
- SinglePageViewer.cs
- ToolStripDropDownItemDesigner.cs
- TextBoxBase.cs
- UpDownEvent.cs
- EmissiveMaterial.cs
- CodeValidator.cs
- Delay.cs
- ObjectPersistData.cs
- ITreeGenerator.cs
- TreeNodeBindingDepthConverter.cs
- WindowsTab.cs
- XmlElementList.cs
- AccessDataSourceView.cs
- XmlTypeMapping.cs
- ValidatedControlConverter.cs
- XmlLangPropertyAttribute.cs
- RTLAwareMessageBox.cs
- SQLBytes.cs
- MessageBox.cs
- ScriptResourceHandler.cs
- WindowsStartMenu.cs
- Mappings.cs
- AstNode.cs
- FileDialog.cs
- SynchronizedInputAdaptor.cs
- MarkupCompilePass2.cs
- PackageDigitalSignature.cs
- JournalEntryListConverter.cs
- QilXmlReader.cs
- ExpressionPrefixAttribute.cs
- oledbmetadatacollectionnames.cs
- XPathDocument.cs
- BuildResult.cs
- ChannelEndpointElement.cs
- CellRelation.cs
- StringConverter.cs
- COM2DataTypeToManagedDataTypeConverter.cs
- ScrollBarAutomationPeer.cs
- HandleCollector.cs
- XmlSchemaAny.cs
- SqlCacheDependencyDatabaseCollection.cs
- GenerateTemporaryTargetAssembly.cs
- FtpWebRequest.cs
- Vector3DConverter.cs
- RegionData.cs
- ExecutionContext.cs
- DataTableMapping.cs
- LinqDataSource.cs
- ValueQuery.cs