Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / UriSchemeKeyedCollection.cs / 1 / UriSchemeKeyedCollection.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.ServiceModel { using System; using System.Collections.Generic; using System.Runtime.Serialization; public class UriSchemeKeyedCollection : SynchronizedKeyedCollection{ internal UriSchemeKeyedCollection(object syncRoot) : base(syncRoot) { } public UriSchemeKeyedCollection(params Uri[] addresses) { if (addresses == null) throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("addresses"); for (int i = 0; i < addresses.Length; i++) { this.Add(addresses[i]); } } protected override string GetKeyForItem(Uri item) { return item.Scheme; } protected override void InsertItem(int index, Uri item) { ValidateBaseAddress(item, "item"); if (this.Contains(item.Scheme)) throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument("item", SR.GetString(SR.BaseAddressDuplicateScheme, item.Scheme)); base.InsertItem(index, item); } protected override void SetItem(int index, Uri item) { ValidateBaseAddress(item, "item"); if (this[index].Scheme != item.Scheme) { if (this.Contains(item.Scheme)) throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument("item", SR.GetString(SR.BaseAddressDuplicateScheme, item.Scheme)); } base.SetItem(index, item); } internal static void ValidateBaseAddress(Uri uri, string argumentName) { if (uri == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull(argumentName); } if (!uri.IsAbsoluteUri) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument(argumentName, SR.GetString(SR.BaseAddressMustBeAbsolute)); } if (!string.IsNullOrEmpty(uri.UserInfo)) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument(argumentName, SR.GetString(SR.BaseAddressCannotHaveUserInfo)); } if (!string.IsNullOrEmpty(uri.Query)) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument(argumentName, SR.GetString(SR.BaseAddressCannotHaveQuery)); } if (!string.IsNullOrEmpty(uri.Fragment)) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument(argumentName, SR.GetString(SR.BaseAddressCannotHaveFragment)); } } } } // 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
- Relationship.cs
- MenuStrip.cs
- _NTAuthentication.cs
- InternalSafeNativeMethods.cs
- BrowserDefinitionCollection.cs
- selecteditemcollection.cs
- LineGeometry.cs
- SqlLiftIndependentRowExpressions.cs
- DataGridViewIntLinkedList.cs
- BindStream.cs
- UserMapPath.cs
- ToggleButton.cs
- SchemaObjectWriter.cs
- PeerCollaboration.cs
- DesignerCategoryAttribute.cs
- ControlBuilderAttribute.cs
- SynchronousReceiveBehavior.cs
- DelegateHelpers.Generated.cs
- ValuePattern.cs
- Attributes.cs
- HttpChannelHelper.cs
- ChannelListenerBase.cs
- GeneratedCodeAttribute.cs
- Constraint.cs
- GridItemPatternIdentifiers.cs
- XmlSerializationWriter.cs
- WorkflowMessageEventArgs.cs
- RestHandler.cs
- DecoderNLS.cs
- IndexingContentUnit.cs
- ConfigurationConverterBase.cs
- Atom10FormatterFactory.cs
- DiscoveryClientProtocol.cs
- ScrollContentPresenter.cs
- COM2ColorConverter.cs
- MissingMemberException.cs
- SqlAggregateChecker.cs
- XhtmlConformanceSection.cs
- SqlUnionizer.cs
- TableRowCollection.cs
- ContextQuery.cs
- MemberProjectedSlot.cs
- WorkflowPrinting.cs
- CommentEmitter.cs
- SynchronousChannelMergeEnumerator.cs
- SchemaElement.cs
- Error.cs
- OdbcStatementHandle.cs
- ParamArrayAttribute.cs
- Tuple.cs
- ExceptionHelpers.cs
- ISO2022Encoding.cs
- DiscoveryClientRequestChannel.cs
- PropertyDescriptor.cs
- TemplatePropertyEntry.cs
- CounterSet.cs
- HttpStreamFormatter.cs
- DBAsyncResult.cs
- ScrollableControl.cs
- XamlDebuggerXmlReader.cs
- ProtocolsConfigurationEntry.cs
- FontFamilyValueSerializer.cs
- CreateUserErrorEventArgs.cs
- OrderByBuilder.cs
- HitTestResult.cs
- GetReadStreamResult.cs
- SerializerProvider.cs
- ProbeRequestResponseAsyncResult.cs
- SqlDataSourceEnumerator.cs
- ComPlusAuthorization.cs
- Point3DKeyFrameCollection.cs
- WebPartZone.cs
- FontUnitConverter.cs
- ResourcePermissionBase.cs
- SafeRightsManagementHandle.cs
- Panel.cs
- IriParsingElement.cs
- GridSplitter.cs
- TimeStampChecker.cs
- XmlUtilWriter.cs
- Propagator.JoinPropagator.cs
- LinqDataSource.cs
- ResourceSet.cs
- ValidationError.cs
- Switch.cs
- RuntimeArgumentHandle.cs
- FileSystemEventArgs.cs
- VectorConverter.cs
- InputProcessorProfilesLoader.cs
- Stroke2.cs
- ExpressionHelper.cs
- SafeCryptContextHandle.cs
- SettingsProperty.cs
- FullTextLine.cs
- PathGeometry.cs
- CookielessHelper.cs
- TextBox.cs
- SQLChars.cs
- MailMessageEventArgs.cs
- XmlSerializer.cs