Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ // // 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); } } } // 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
- UpdateTracker.cs
- QilIterator.cs
- AppDomainManager.cs
- UmAlQuraCalendar.cs
- Normalization.cs
- BindingGraph.cs
- ResourceIDHelper.cs
- SystemTcpStatistics.cs
- SqlConnectionString.cs
- TemplateColumn.cs
- ColumnTypeConverter.cs
- WorkflowPrinting.cs
- HtmlToClrEventProxy.cs
- ReferencedAssembly.cs
- ISAPIWorkerRequest.cs
- MulticastDelegate.cs
- DrawListViewItemEventArgs.cs
- TraceHandler.cs
- DesignerLabelAdapter.cs
- NotCondition.cs
- EmptyControlCollection.cs
- OrderPreservingMergeHelper.cs
- GPPOINT.cs
- PreparingEnlistment.cs
- TextViewBase.cs
- PerspectiveCamera.cs
- HttpResponseInternalWrapper.cs
- QueryableDataSourceHelper.cs
- RegexGroupCollection.cs
- SqlCaseSimplifier.cs
- FrameworkTextComposition.cs
- ISAPIRuntime.cs
- PreviewKeyDownEventArgs.cs
- DesignerSelectionListAdapter.cs
- OleDbConnectionFactory.cs
- BaseValidatorDesigner.cs
- DataGridViewSelectedCellsAccessibleObject.cs
- Encoder.cs
- DefaultValidator.cs
- EngineSite.cs
- WebHostScriptMappingsInstallComponent.cs
- LeftCellWrapper.cs
- WorkflowDesigner.cs
- RenderingBiasValidation.cs
- MessageFormatterConverter.cs
- Pkcs7Signer.cs
- COM2Properties.cs
- ListItemDetailViewAttribute.cs
- ContextProperty.cs
- XmlIncludeAttribute.cs
- MethodBody.cs
- PointUtil.cs
- FileEnumerator.cs
- _SSPIWrapper.cs
- DesignerDataTable.cs
- ServiceErrorHandler.cs
- TextSchema.cs
- InfiniteTimeSpanConverter.cs
- DataGridPagerStyle.cs
- SpellerStatusTable.cs
- SqlDependencyListener.cs
- TextElementEnumerator.cs
- InertiaRotationBehavior.cs
- SrgsDocument.cs
- SchemaComplexType.cs
- WebPartTransformer.cs
- SqlRewriteScalarSubqueries.cs
- cache.cs
- ContentElementCollection.cs
- HashSetDebugView.cs
- DbConnectionClosed.cs
- Button.cs
- IgnoreFlushAndCloseStream.cs
- Ray3DHitTestResult.cs
- DrawingAttributes.cs
- SiteMapSection.cs
- JsonXmlDataContract.cs
- RepeatInfo.cs
- RadioButtonAutomationPeer.cs
- Size3D.cs
- QueryInterceptorAttribute.cs
- DiscoveryReference.cs
- DataGridCommandEventArgs.cs
- MaterialCollection.cs
- Span.cs
- ListItemCollection.cs
- IisTraceListener.cs
- LinkedList.cs
- ProcessHostConfigUtils.cs
- Bitmap.cs
- MarkupExtensionSerializer.cs
- OracleCommand.cs
- DynamicPhysicalDiscoSearcher.cs
- SqlStatistics.cs
- Win32.cs
- PerformanceCounterManager.cs
- TextTreeRootTextBlock.cs
- SqlConnectionPoolProviderInfo.cs
- StylusDownEventArgs.cs
- DefaultValueTypeConverter.cs