Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Net / System / Net / HttpListenerPrefixCollection.cs / 1305376 / 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 this.GetEnumerator(); } 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); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- LinearKeyFrames.cs
- CustomTrackingRecord.cs
- TypePresenter.xaml.cs
- followingquery.cs
- SqlReferenceCollection.cs
- ToolStripOverflowButton.cs
- EntityTemplateUserControl.cs
- UriSection.cs
- VisualSerializer.cs
- SystemColors.cs
- SubclassTypeValidator.cs
- ArrayConverter.cs
- BaseParser.cs
- BitmapEffectOutputConnector.cs
- PositiveTimeSpanValidator.cs
- HtmlTextArea.cs
- WebHttpBehavior.cs
- BamlLocalizableResource.cs
- ObjectReferenceStack.cs
- ToolStripPanelCell.cs
- PrinterSettings.cs
- PathFigureCollectionConverter.cs
- PictureBox.cs
- DashStyle.cs
- DataGridViewLayoutData.cs
- MenuAdapter.cs
- WebPartZone.cs
- __FastResourceComparer.cs
- State.cs
- CommandPlan.cs
- ColorAnimation.cs
- ProbeMatchesApril2005.cs
- SafeBitVector32.cs
- EdmConstants.cs
- MemberRelationshipService.cs
- CodeMethodReturnStatement.cs
- FollowerQueueCreator.cs
- Wildcard.cs
- ConnectionInterfaceCollection.cs
- WinEventWrap.cs
- DataSetUtil.cs
- EmptyQuery.cs
- XmlILOptimizerVisitor.cs
- SupportingTokenSpecification.cs
- PropertyFilterAttribute.cs
- BuildResult.cs
- XmlReflectionImporter.cs
- ItemCollection.cs
- KeyToListMap.cs
- Double.cs
- ToolStripDropDownMenu.cs
- RolePrincipal.cs
- RecordsAffectedEventArgs.cs
- MessageHeaders.cs
- XmlSerializableReader.cs
- OracleDateTime.cs
- DllNotFoundException.cs
- ExpressionBindings.cs
- EnlistmentState.cs
- CallbackValidatorAttribute.cs
- ExpressionConverter.cs
- BinaryQueryOperator.cs
- TextEffectCollection.cs
- PartialClassGenerationTaskInternal.cs
- TypedTableHandler.cs
- HttpCacheParams.cs
- StatusBarItemAutomationPeer.cs
- AstNode.cs
- Error.cs
- NaturalLanguageHyphenator.cs
- SignatureResourcePool.cs
- BreakRecordTable.cs
- safesecurityhelperavalon.cs
- ProgressBarAutomationPeer.cs
- ProtocolViolationException.cs
- SqlMethodAttribute.cs
- RequestNavigateEventArgs.cs
- Font.cs
- ToggleButton.cs
- DataListCommandEventArgs.cs
- ContainerVisual.cs
- UnicodeEncoding.cs
- IisTraceWebEventProvider.cs
- Brushes.cs
- SessionStateContainer.cs
- MimePart.cs
- TraceFilter.cs
- AsymmetricKeyExchangeFormatter.cs
- DataSysAttribute.cs
- CompilationUtil.cs
- DispatcherSynchronizationContext.cs
- PowerStatus.cs
- LoginCancelEventArgs.cs
- BamlCollectionHolder.cs
- FunctionImportMapping.cs
- QueueProcessor.cs
- ErrorTableItemStyle.cs
- DateTimeFormatInfo.cs
- HttpFileCollection.cs
- TextDecorationCollection.cs