Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / NetFx35 / System.ServiceModel.Web / System / UriTemplateVariablePathSegment.cs / 1 / UriTemplateVariablePathSegment.cs
//---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------- namespace System { using System.Collections.Specialized; using System.ServiceModel; using System.ServiceModel.Web; using System.Text; class UriTemplateVariablePathSegment : UriTemplatePathSegment { readonly string varName; public UriTemplateVariablePathSegment(string originalSegment, bool endsWithSlash, string varName) : base(originalSegment, UriTemplatePartType.Variable, endsWithSlash) { Fx.Assert(!string.IsNullOrEmpty(varName), "bad variable segment"); this.varName = varName; } public string VarName { get { return this.varName; } } public override void Bind(string[] values, ref int valueIndex, StringBuilder path) { Fx.Assert(valueIndex < values.Length, "Not enough values to bind"); if (this.EndsWithSlash) { path.AppendFormat("{0}/", values[valueIndex++]); } else { path.Append(values[valueIndex++]); } } public override bool IsEquivalentTo(UriTemplatePathSegment other, bool ignoreTrailingSlash) { if (other == null) { Fx.Assert("why would we ever call this?"); return false; } if (!ignoreTrailingSlash && (this.EndsWithSlash != other.EndsWithSlash)) { return false; } return (other.Nature == UriTemplatePartType.Variable); } public override bool IsMatch(UriTemplateLiteralPathSegment segment, bool ignoreTrailingSlash) { if (!ignoreTrailingSlash && (this.EndsWithSlash != segment.EndsWithSlash)) { return false; } return (!segment.IsNullOrEmpty()); } public override void Lookup(string segment, NameValueCollection boundParameters) { Fx.Assert(!string.IsNullOrEmpty(segment), "How can that be? Lookup is expected to be called after IsMatch"); boundParameters.Add(this.varName, segment); } } } // 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
- DockEditor.cs
- Transform3DGroup.cs
- TypeViewSchema.cs
- SectionXmlInfo.cs
- DockPatternIdentifiers.cs
- WeakEventManager.cs
- PartManifestEntry.cs
- diagnosticsswitches.cs
- COAUTHIDENTITY.cs
- WmlCalendarAdapter.cs
- SafeArrayRankMismatchException.cs
- SourceLineInfo.cs
- Listen.cs
- BatchParser.cs
- ASCIIEncoding.cs
- QueryContinueDragEvent.cs
- AccessViolationException.cs
- FrameworkElementFactoryMarkupObject.cs
- DataShape.cs
- CompareValidator.cs
- NullableConverter.cs
- NetworkInformationPermission.cs
- ScrollPattern.cs
- WindowsGraphicsCacheManager.cs
- QilNode.cs
- RepeatEnumerable.cs
- OLEDB_Enum.cs
- DocComment.cs
- StretchValidation.cs
- MetadataImporter.cs
- RelatedPropertyManager.cs
- ImageMetadata.cs
- HotSpotCollectionEditor.cs
- SyntaxCheck.cs
- QilScopedVisitor.cs
- MetabaseServerConfig.cs
- SqlPersistenceProviderFactory.cs
- ScrollBarRenderer.cs
- TypeInfo.cs
- CompilerGlobalScopeAttribute.cs
- NonParentingControl.cs
- Module.cs
- RuleInfoComparer.cs
- DataGridPagerStyle.cs
- GridViewDeleteEventArgs.cs
- ActivityCodeDomSerializer.cs
- UIElement.cs
- OracleBinary.cs
- ThrowHelper.cs
- IBuiltInEvidence.cs
- ThreadInterruptedException.cs
- XamlWriter.cs
- PipelineModuleStepContainer.cs
- ProvidePropertyAttribute.cs
- HwndStylusInputProvider.cs
- DynamicObjectAccessor.cs
- VarRemapper.cs
- WebControlAdapter.cs
- GregorianCalendar.cs
- JumpTask.cs
- ListView.cs
- AutomationIdentifierGuids.cs
- ListViewGroup.cs
- DataGridViewTextBoxEditingControl.cs
- Base64Encoder.cs
- StringFreezingAttribute.cs
- Imaging.cs
- RelationshipManager.cs
- EntityDesignerDataSourceView.cs
- HttpException.cs
- URLIdentityPermission.cs
- ToolboxDataAttribute.cs
- BeginStoryboard.cs
- FileUtil.cs
- COSERVERINFO.cs
- ScriptResourceInfo.cs
- BaseCodeDomTreeGenerator.cs
- StateFinalizationDesigner.cs
- DataGridBoolColumn.cs
- OdbcError.cs
- _UriSyntax.cs
- EncoderExceptionFallback.cs
- ToggleButtonAutomationPeer.cs
- PlainXmlSerializer.cs
- AspNetSynchronizationContext.cs
- StreamReader.cs
- SkewTransform.cs
- CompositeScriptReferenceEventArgs.cs
- BitmapEditor.cs
- XmlUtilWriter.cs
- ActivityExecutorDelegateInfo.cs
- DurableInstanceManager.cs
- NamedPipeProcessProtocolHandler.cs
- shaper.cs
- ProtectedConfiguration.cs
- TaskHelper.cs
- DataGridSortCommandEventArgs.cs
- CustomAttributeFormatException.cs
- Inflater.cs
- InvalidProgramException.cs