Code:
/ DotNET / DotNET / 8.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
- CqlIdentifiers.cs
- JsonServiceDocumentSerializer.cs
- WinInetCache.cs
- ControlIdConverter.cs
- _AutoWebProxyScriptWrapper.cs
- HttpRuntime.cs
- DictionarySurrogate.cs
- HtmlContainerControl.cs
- RtfToken.cs
- AssertFilter.cs
- VerificationAttribute.cs
- ConfigViewGenerator.cs
- ApplicationBuildProvider.cs
- PointCollectionConverter.cs
- StateRuntime.cs
- Converter.cs
- EnumConverter.cs
- DataServiceStreamResponse.cs
- ConfigXmlText.cs
- QueryCacheManager.cs
- MulticastNotSupportedException.cs
- ConfigsHelper.cs
- DrawListViewColumnHeaderEventArgs.cs
- MarkupObject.cs
- dtdvalidator.cs
- FixedBufferAttribute.cs
- SerialReceived.cs
- ADRoleFactoryConfiguration.cs
- FilterableAttribute.cs
- GenericIdentity.cs
- SmiSettersStream.cs
- UInt16Storage.cs
- IPAddress.cs
- WebRequestModuleElement.cs
- ProbeDuplexCD1AsyncResult.cs
- TabPageDesigner.cs
- BinaryMethodMessage.cs
- ComponentGuaranteesAttribute.cs
- ExpandSegment.cs
- Image.cs
- InputLanguageSource.cs
- DataGridViewEditingControlShowingEventArgs.cs
- CodeNamespaceCollection.cs
- CodeAttributeArgument.cs
- GridViewItemAutomationPeer.cs
- HtmlTitle.cs
- ConsoleKeyInfo.cs
- Pts.cs
- BmpBitmapEncoder.cs
- Transform.cs
- Form.cs
- BrowserTree.cs
- ControlDesigner.cs
- SelectionEditor.cs
- IgnoreSectionHandler.cs
- ToolStripItemClickedEventArgs.cs
- BinaryObjectReader.cs
- SmiMetaData.cs
- HwndProxyElementProvider.cs
- TileBrush.cs
- TrustVersion.cs
- SecurityToken.cs
- RowToParametersTransformer.cs
- TextEncodedRawTextWriter.cs
- QueryResponse.cs
- ToolStripItemClickedEventArgs.cs
- XmlILOptimizerVisitor.cs
- QueryStringParameter.cs
- AsymmetricAlgorithm.cs
- ConfigurationValues.cs
- ReadOnlyPermissionSet.cs
- SqlMultiplexer.cs
- Size3DConverter.cs
- SymDocumentType.cs
- SmiEventStream.cs
- SetIterators.cs
- BackgroundWorker.cs
- Stack.cs
- XmlSchemaSimpleTypeUnion.cs
- ConstraintEnumerator.cs
- X509IssuerSerialKeyIdentifierClause.cs
- DesignerOptionService.cs
- RegularExpressionValidator.cs
- SQLStringStorage.cs
- XmlNavigatorStack.cs
- DeflateEmulationStream.cs
- CompilerGlobalScopeAttribute.cs
- Line.cs
- ContractMapping.cs
- XDRSchema.cs
- SecuritySessionClientSettings.cs
- SocketPermission.cs
- FormsAuthenticationCredentials.cs
- XamlFigureLengthSerializer.cs
- IndentedWriter.cs
- ConstrainedDataObject.cs
- SQLDouble.cs
- CodeObject.cs
- LabelDesigner.cs
- TreeViewItem.cs