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
- ProcessThreadCollection.cs
- ExpressionLexer.cs
- Rules.cs
- DataKeyArray.cs
- TokenBasedSet.cs
- LogExtent.cs
- X509Certificate2.cs
- MessageBox.cs
- DataServiceBehavior.cs
- AssociationTypeEmitter.cs
- NumericUpDownAcceleration.cs
- CustomErrorsSectionWrapper.cs
- RelationshipFixer.cs
- DeviceContexts.cs
- GrammarBuilderDictation.cs
- InvalidDataException.cs
- BaseCAMarshaler.cs
- ServiceDefaults.cs
- BamlVersionHeader.cs
- _DisconnectOverlappedAsyncResult.cs
- GridViewDeleteEventArgs.cs
- SizeAnimation.cs
- SafeNativeMethods.cs
- SendActivityDesigner.cs
- RuleSetBrowserDialog.cs
- EnumUnknown.cs
- TrackingMemoryStream.cs
- LoadRetryConstantStrategy.cs
- EncodingTable.cs
- handlecollector.cs
- CheckBoxFlatAdapter.cs
- WebBrowser.cs
- X509SecurityTokenAuthenticator.cs
- CompleteWizardStep.cs
- TripleDESCryptoServiceProvider.cs
- FixedElement.cs
- EventMap.cs
- Parsers.cs
- SafeHandles.cs
- MultiSelector.cs
- Point4DConverter.cs
- DataGridViewColumnCollection.cs
- SqlColumnizer.cs
- DataSet.cs
- AssemblyBuilder.cs
- AppDomainProtocolHandler.cs
- PageFunction.cs
- AssociativeAggregationOperator.cs
- CodeNamespaceCollection.cs
- AccessDataSourceView.cs
- SessionSwitchEventArgs.cs
- DropTarget.cs
- BamlResourceContent.cs
- CodeCatchClause.cs
- SecurityState.cs
- PrivilegeNotHeldException.cs
- DesignBinding.cs
- Size3D.cs
- FileRecordSequenceCompletedAsyncResult.cs
- CodeGeneratorOptions.cs
- Viewport3DVisual.cs
- OdbcTransaction.cs
- ListControl.cs
- MenuAutomationPeer.cs
- DataGridLinkButton.cs
- SizeF.cs
- EpmContentDeSerializer.cs
- SizeAnimationClockResource.cs
- ExtendedProperty.cs
- ObjectToIdCache.cs
- TcpSocketManager.cs
- cache.cs
- serverconfig.cs
- TableCellAutomationPeer.cs
- XmlCharCheckingWriter.cs
- EntityDesignerUtils.cs
- DataGridViewRowsRemovedEventArgs.cs
- WindowsListViewItem.cs
- SetterBase.cs
- HttpInputStream.cs
- PagesSection.cs
- ClientProxyGenerator.cs
- PhysicalOps.cs
- EnumValAlphaComparer.cs
- Types.cs
- ValidatorCompatibilityHelper.cs
- LocatorBase.cs
- HuffCodec.cs
- ColorConvertedBitmap.cs
- EncryptedPackageFilter.cs
- ToolboxItemAttribute.cs
- WriterOutput.cs
- ComponentEvent.cs
- DataGridViewEditingControlShowingEventArgs.cs
- CodeSubDirectoriesCollection.cs
- DateTimeUtil.cs
- FixUpCollection.cs
- HostUtils.cs
- AutomationEventArgs.cs
- ClientSettingsSection.cs