Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Net / System / Net / HttpListenerPrefixCollection.cs / 1 / HttpListenerPrefixCollection.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Net { using System; using System.Collections; using System.Collections.Generic; internal class ListenerPrefixEnumerator:IEnumerator{ IEnumerator enumerator; internal ListenerPrefixEnumerator(IEnumerator enumerator){ this.enumerator = enumerator; } public string Current{ get{ return (string)enumerator.Current; } } public bool MoveNext(){ return enumerator.MoveNext(); } public void Dispose(){ } void System.Collections.IEnumerator.Reset(){ enumerator.Reset(); } object System.Collections.IEnumerator.Current{ get{ return enumerator.Current; } } } public class HttpListenerPrefixCollection : ICollection { private HttpListener m_HttpListener; internal HttpListenerPrefixCollection(HttpListener listener) { m_HttpListener = listener; } public void CopyTo(Array array, int offset) { m_HttpListener.CheckDisposed(); if (Count>array.Length) { throw new ArgumentOutOfRangeException("array", SR.GetString(SR.net_array_too_small)); } if (offset+Count>array.Length) { throw new ArgumentOutOfRangeException("offset"); } int index = 0; foreach (string uriPrefix in m_HttpListener.m_UriPrefixes.Keys) { array.SetValue(uriPrefix, offset + index++); } } public void CopyTo(string[] array, int offset) { m_HttpListener.CheckDisposed(); if (Count>array.Length) { throw new ArgumentOutOfRangeException("array", SR.GetString(SR.net_array_too_small)); } if (offset+Count>array.Length) { throw new ArgumentOutOfRangeException("offset"); } int index = 0; foreach (string uriPrefix in m_HttpListener.m_UriPrefixes.Keys) { array[offset + index++] = uriPrefix; } } public int Count { get { return m_HttpListener.m_UriPrefixes.Count; } } public bool IsSynchronized { get { return false; } } public bool IsReadOnly { get { return false; } } public void Add(string uriPrefix) { m_HttpListener.AddPrefix(uriPrefix); } public bool Contains(string uriPrefix) { return m_HttpListener.m_UriPrefixes.Contains(uriPrefix); } System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { return null; } public IEnumerator GetEnumerator() { return new ListenerPrefixEnumerator(m_HttpListener.m_UriPrefixes.Keys.GetEnumerator()); } public bool Remove(string uriPrefix) { return m_HttpListener.RemovePrefix(uriPrefix); } public void Clear() { m_HttpListener.RemoveAll(true); } } }
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ResXFileRef.cs
- GridViewPageEventArgs.cs
- TextBoxBase.cs
- WebRequestModuleElementCollection.cs
- IdentityReference.cs
- ADRole.cs
- MonikerSyntaxException.cs
- UrlPath.cs
- _SpnDictionary.cs
- SecureConversationServiceCredential.cs
- NegotiateStream.cs
- NamespaceQuery.cs
- Win32.cs
- Label.cs
- OracleParameterCollection.cs
- RowToFieldTransformer.cs
- NameSpaceExtractor.cs
- ZipFileInfo.cs
- AutoResetEvent.cs
- NullableConverter.cs
- MenuEventArgs.cs
- DateTimeUtil.cs
- DiscoveryDefaults.cs
- EpmSyndicationContentSerializer.cs
- QilInvoke.cs
- AttachedAnnotationChangedEventArgs.cs
- FileLogRecord.cs
- AttributeSetAction.cs
- EdmType.cs
- WSFederationHttpSecurityElement.cs
- TextRenderer.cs
- CapabilitiesRule.cs
- HwndSource.cs
- AsyncCallback.cs
- JobDuplex.cs
- DbException.cs
- FlowLayoutPanel.cs
- ContainsSearchOperator.cs
- _TransmitFileOverlappedAsyncResult.cs
- SqlReferenceCollection.cs
- SemanticTag.cs
- Link.cs
- TagPrefixInfo.cs
- DataPagerFieldCommandEventArgs.cs
- WebPartCatalogAddVerb.cs
- SectionVisual.cs
- StringComparer.cs
- ChainedAsyncResult.cs
- EmulateRecognizeCompletedEventArgs.cs
- Console.cs
- DataRelation.cs
- RestHandler.cs
- ISFClipboardData.cs
- TypeConverterValueSerializer.cs
- AppDomainInfo.cs
- DoubleAnimationUsingKeyFrames.cs
- DataGridViewCellStateChangedEventArgs.cs
- ParseChildrenAsPropertiesAttribute.cs
- TraceSwitch.cs
- BindableTemplateBuilder.cs
- GenerateDerivedKeyRequest.cs
- OdbcConnectionPoolProviderInfo.cs
- CheckBoxList.cs
- EntityViewGenerationAttribute.cs
- DataGridState.cs
- SchemaCollectionPreprocessor.cs
- ConfigUtil.cs
- Brush.cs
- OdbcConnectionHandle.cs
- GetLedgerRequest.cs
- SoapProcessingBehavior.cs
- FixedTextContainer.cs
- DurationConverter.cs
- SafeFileMappingHandle.cs
- JsonFormatMapping.cs
- DataServiceHost.cs
- FileSystemWatcher.cs
- AuthenticationSection.cs
- RawStylusInput.cs
- X509Extension.cs
- OleDragDropHandler.cs
- PersistenceProviderDirectory.cs
- XmlSchemaAttributeGroup.cs
- TextTreeInsertElementUndoUnit.cs
- TagPrefixCollection.cs
- Validator.cs
- CodeConstructor.cs
- EdmRelationshipRoleAttribute.cs
- MessageDroppedTraceRecord.cs
- cache.cs
- OleDbReferenceCollection.cs
- HelpProvider.cs
- WindowsButton.cs
- DiscriminatorMap.cs
- SectionInformation.cs
- QueryRewriter.cs
- JournalNavigationScope.cs
- CharEnumerator.cs
- DataRelation.cs
- TraceEventCache.cs