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
- CodeTypeReferenceCollection.cs
- AccessedThroughPropertyAttribute.cs
- NetworkAddressChange.cs
- IpcClientManager.cs
- ConditionalExpression.cs
- ProtocolsConfigurationHandler.cs
- EncoderReplacementFallback.cs
- ADMembershipUser.cs
- ComAdminInterfaces.cs
- ConfigsHelper.cs
- SqlFunctionAttribute.cs
- TableRowCollection.cs
- SingleStorage.cs
- NavigationProgressEventArgs.cs
- MimeMapping.cs
- HtmlToClrEventProxy.cs
- XmlRootAttribute.cs
- DataGridViewRowsAddedEventArgs.cs
- SerializationInfo.cs
- SettingsProviderCollection.cs
- DataGridRelationshipRow.cs
- TraceLevelHelper.cs
- UnsafeNativeMethods.cs
- DataTemplate.cs
- NativeObjectSecurity.cs
- SoapExtension.cs
- EventProviderWriter.cs
- DurableEnlistmentState.cs
- AxHost.cs
- ServerIdentity.cs
- SHA512.cs
- ConfigXmlText.cs
- UserPreferenceChangingEventArgs.cs
- _HeaderInfoTable.cs
- TextTreeUndoUnit.cs
- QilLiteral.cs
- SqlGatherConsumedAliases.cs
- ZipIOFileItemStream.cs
- FieldToken.cs
- CaseDesigner.xaml.cs
- IsolatedStorageException.cs
- ReadOnlyNameValueCollection.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- WebPartConnectionsConfigureVerb.cs
- EntityAdapter.cs
- DataGridViewRowDividerDoubleClickEventArgs.cs
- EntityDataSourceDesigner.cs
- DataTableExtensions.cs
- DropTarget.cs
- parserscommon.cs
- RemoteWebConfigurationHostStream.cs
- IndexedGlyphRun.cs
- TypeConverter.cs
- EntityCommandExecutionException.cs
- Environment.cs
- HTTP_SERVICE_CONFIG_URLACL_PARAM.cs
- CompilerTypeWithParams.cs
- DynamicMethod.cs
- ModelPropertyDescriptor.cs
- SQLString.cs
- ParseNumbers.cs
- SchemaObjectWriter.cs
- MetadataArtifactLoader.cs
- ExpressionBuilderContext.cs
- BodyGlyph.cs
- ContextQuery.cs
- ThreadStateException.cs
- DesignerProperties.cs
- ByteStream.cs
- IUnknownConstantAttribute.cs
- TranslateTransform3D.cs
- ConcatQueryOperator.cs
- FixedSOMPageConstructor.cs
- PolyBezierSegment.cs
- DataGridViewSelectedCellsAccessibleObject.cs
- UriTemplateQueryValue.cs
- OverflowException.cs
- SQLBinaryStorage.cs
- XmlConverter.cs
- AxHostDesigner.cs
- XamlPathDataSerializer.cs
- MimeMultiPart.cs
- PolygonHotSpot.cs
- unsafeIndexingFilterStream.cs
- TemplatedMailWebEventProvider.cs
- FunctionOverloadResolver.cs
- AddInControllerImpl.cs
- CodeAssignStatement.cs
- VirtualDirectoryMapping.cs
- UserInitiatedRoutedEventPermissionAttribute.cs
- ValidatedControlConverter.cs
- ExpressionVisitor.cs
- PropertyNames.cs
- JoinSymbol.cs
- OpCopier.cs
- DBBindings.cs
- CommandLibraryHelper.cs
- CharacterString.cs
- SQLGuidStorage.cs
- Decorator.cs