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
- SQLGuid.cs
- FacetDescription.cs
- FontStyle.cs
- DNS.cs
- UserPreferenceChangingEventArgs.cs
- TagPrefixCollection.cs
- GlyphingCache.cs
- EncodingTable.cs
- RedirectionProxy.cs
- ErrorLog.cs
- InstanceContextManager.cs
- ToolStripManager.cs
- StringBuilder.cs
- HandleCollector.cs
- SystemColors.cs
- URLString.cs
- ControlEvent.cs
- SiteOfOriginPart.cs
- ClientBuildManager.cs
- QueueProcessor.cs
- MappingMetadataHelper.cs
- HwndSourceKeyboardInputSite.cs
- LinkClickEvent.cs
- Single.cs
- FactoryMaker.cs
- Deflater.cs
- AdditionalEntityFunctions.cs
- IOException.cs
- StringComparer.cs
- IIS7WorkerRequest.cs
- StrongNamePublicKeyBlob.cs
- LinqMaximalSubtreeNominator.cs
- UpdateExpressionVisitor.cs
- TextChangedEventArgs.cs
- ColumnHeaderConverter.cs
- MorphHelpers.cs
- SqlDataSourceCache.cs
- WebRequestModuleElement.cs
- UndirectedGraph.cs
- MappingException.cs
- Stream.cs
- GridViewRow.cs
- FormView.cs
- SecurityUtils.cs
- PassportAuthenticationEventArgs.cs
- DataMemberListEditor.cs
- OracleCommandBuilder.cs
- CertificateManager.cs
- InfoCardBaseException.cs
- PageStatePersister.cs
- ScriptComponentDescriptor.cs
- cryptoapiTransform.cs
- AspNetHostingPermission.cs
- WebException.cs
- DecoderNLS.cs
- DataGridColumn.cs
- RenderTargetBitmap.cs
- MDIClient.cs
- ScrollChrome.cs
- PeerPresenceInfo.cs
- LostFocusEventManager.cs
- ping.cs
- MD5CryptoServiceProvider.cs
- TextWriter.cs
- DuplicateWaitObjectException.cs
- CmsUtils.cs
- DockingAttribute.cs
- SqlStream.cs
- WebServiceHandler.cs
- ModelItemDictionaryImpl.cs
- SyntaxCheck.cs
- HttpValueCollection.cs
- NetTcpBindingCollectionElement.cs
- WizardPanel.cs
- DataTableCollection.cs
- IConvertible.cs
- GrabHandleGlyph.cs
- DataGridViewAutoSizeColumnModeEventArgs.cs
- PhoneCall.cs
- CatalogPartCollection.cs
- ContentPosition.cs
- Fault.cs
- EmptyElement.cs
- PointLight.cs
- ProcessHostServerConfig.cs
- SHA1Managed.cs
- mda.cs
- CFStream.cs
- StoreItemCollection.Loader.cs
- PointAnimationUsingKeyFrames.cs
- PauseStoryboard.cs
- AuthenticationModeHelper.cs
- UIPropertyMetadata.cs
- IEnumerable.cs
- NullableFloatMinMaxAggregationOperator.cs
- ObjectStateEntryDbDataRecord.cs
- SatelliteContractVersionAttribute.cs
- Help.cs
- HttpCookie.cs
- TimeEnumHelper.cs