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
- DocumentPropertiesDialog.cs
- SessionSwitchEventArgs.cs
- StdValidatorsAndConverters.cs
- MetadataArtifactLoaderCompositeResource.cs
- DataGridViewComboBoxEditingControl.cs
- CalendarModeChangedEventArgs.cs
- ServicesSection.cs
- DSASignatureDeformatter.cs
- DetailsViewModeEventArgs.cs
- DataGridViewCellValidatingEventArgs.cs
- _FixedSizeReader.cs
- TemporaryBitmapFile.cs
- WebPartEditorApplyVerb.cs
- VBIdentifierDesigner.xaml.cs
- TextLine.cs
- XmlElement.cs
- BitmapFrame.cs
- InputBindingCollection.cs
- DynamicDataRouteHandler.cs
- SoapCodeExporter.cs
- BackStopAuthenticationModule.cs
- OrderingQueryOperator.cs
- AssemblyLoader.cs
- EventProviderWriter.cs
- PermissionToken.cs
- RadioButtonPopupAdapter.cs
- TlsSspiNegotiation.cs
- FixedSOMLineCollection.cs
- MulticastOption.cs
- HttpProfileGroupBase.cs
- UpdateManifestForBrowserApplication.cs
- HtmlTableCellCollection.cs
- HealthMonitoringSectionHelper.cs
- EpmSyndicationContentSerializer.cs
- NativeMethodsOther.cs
- LinqDataSourceStatusEventArgs.cs
- Int64Converter.cs
- CfgSemanticTag.cs
- EventInfo.cs
- Pen.cs
- CompositionTarget.cs
- XmlArrayAttribute.cs
- ProcessModelSection.cs
- WebControlParameterProxy.cs
- NativeMethods.cs
- FeatureSupport.cs
- ScriptResourceInfo.cs
- PrtTicket_Public_Simple.cs
- Guid.cs
- GrammarBuilder.cs
- ToolStripItemClickedEventArgs.cs
- CodeMethodReturnStatement.cs
- TypedDataSetSchemaImporterExtensionFx35.cs
- ValueChangedEventManager.cs
- PreservationFileWriter.cs
- ObfuscateAssemblyAttribute.cs
- SafeRightsManagementSessionHandle.cs
- CategoryNameCollection.cs
- VarInfo.cs
- SmtpDigestAuthenticationModule.cs
- ZoneButton.cs
- RawStylusInputCustomData.cs
- TextMetrics.cs
- ImmutableCollection.cs
- Baml6ConstructorInfo.cs
- EllipseGeometry.cs
- AssemblyAttributes.cs
- StructuredProperty.cs
- LinearGradientBrush.cs
- SystemUdpStatistics.cs
- ResXResourceWriter.cs
- DropAnimation.xaml.cs
- TokenBasedSetEnumerator.cs
- StyleXamlParser.cs
- PromptBuilder.cs
- Error.cs
- OSFeature.cs
- PingOptions.cs
- BigIntegerStorage.cs
- SettingsContext.cs
- FlowDocumentReaderAutomationPeer.cs
- Point3DKeyFrameCollection.cs
- Debug.cs
- NetworkInterface.cs
- Accessors.cs
- ViewKeyConstraint.cs
- PersistenceProvider.cs
- DnsPermission.cs
- XmlRawWriterWrapper.cs
- CompilerTypeWithParams.cs
- ConfigurationStrings.cs
- ClrProviderManifest.cs
- WebEvents.cs
- AssemblyHash.cs
- QilStrConcat.cs
- StringUtil.cs
- SerializableAuthorizationContext.cs
- NumberFormatter.cs
- ECDiffieHellman.cs
- QueryableFilterRepeater.cs