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
- Inline.cs
- NameSpaceExtractor.cs
- TraceLog.cs
- HwndAppCommandInputProvider.cs
- WorkflowRuntimeService.cs
- TreeNodeBinding.cs
- ModelPropertyCollectionImpl.cs
- ECDiffieHellmanCngPublicKey.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- BufferBuilder.cs
- ClientSponsor.cs
- MetaModel.cs
- CollectionBuilder.cs
- Lease.cs
- PickBranch.cs
- HtmlInputCheckBox.cs
- XmlSignatureProperties.cs
- FixedLineResult.cs
- BaseCodePageEncoding.cs
- ExpressionParser.cs
- PrinterUnitConvert.cs
- MemberProjectedSlot.cs
- WorkflowViewStateService.cs
- Mappings.cs
- MultiView.cs
- ResolveRequestResponseAsyncResult.cs
- DefaultValueConverter.cs
- ResXResourceSet.cs
- AccessDataSourceDesigner.cs
- DependencyObjectProvider.cs
- ImageSourceConverter.cs
- UnSafeCharBuffer.cs
- IconHelper.cs
- CutCopyPasteHelper.cs
- GuidelineSet.cs
- RestClientProxyHandler.cs
- PermissionToken.cs
- TextTreeInsertUndoUnit.cs
- FontSourceCollection.cs
- DtdParser.cs
- CompositeCollectionView.cs
- contentDescriptor.cs
- SqlWebEventProvider.cs
- FormatException.cs
- FtpWebRequest.cs
- TextDecorations.cs
- OracleCommand.cs
- ObjectTag.cs
- RangeValidator.cs
- DataBinder.cs
- Lazy.cs
- TextFormatterHost.cs
- DefaultPropertyAttribute.cs
- SqlClientWrapperSmiStreamChars.cs
- DBConnectionString.cs
- TagPrefixInfo.cs
- InputReportEventArgs.cs
- XamlPoint3DCollectionSerializer.cs
- LinearGradientBrush.cs
- TcpTransportElement.cs
- ObjectTypeMapping.cs
- DocumentApplicationJournalEntry.cs
- Vector3dCollection.cs
- PanelStyle.cs
- TextRangeEditLists.cs
- DataGridSortCommandEventArgs.cs
- EntityCollectionChangedParams.cs
- MessageQueueEnumerator.cs
- XmlAttribute.cs
- MiniParameterInfo.cs
- LoadRetryConstantStrategy.cs
- SymLanguageVendor.cs
- HttpFileCollectionWrapper.cs
- SettingsPropertyValueCollection.cs
- XmlDomTextWriter.cs
- KeySplineConverter.cs
- ActivitiesCollection.cs
- KeyGestureValueSerializer.cs
- ScalarConstant.cs
- AspProxy.cs
- TextWriterEngine.cs
- WS2007FederationHttpBinding.cs
- ChannelBuilder.cs
- ProgressBarAutomationPeer.cs
- FtpWebRequest.cs
- IfJoinedCondition.cs
- AuthenticateEventArgs.cs
- Literal.cs
- ReflectionUtil.cs
- updateconfighost.cs
- CompilerGlobalScopeAttribute.cs
- TypeBuilder.cs
- SR.cs
- CodeSubDirectory.cs
- WebPartManagerInternals.cs
- SymmetricAlgorithm.cs
- TextBox.cs
- BinaryObjectReader.cs
- ActionMismatchAddressingException.cs
- ButtonBase.cs