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
- RelationshipConstraintValidator.cs
- XPathEmptyIterator.cs
- HtmlInputFile.cs
- JapaneseLunisolarCalendar.cs
- DataTableMapping.cs
- MetadataArtifactLoaderComposite.cs
- InteropTrackingRecord.cs
- NotifyCollectionChangedEventArgs.cs
- FrameworkReadOnlyPropertyMetadata.cs
- EntityDataSourceSelectingEventArgs.cs
- HttpDebugHandler.cs
- DataKey.cs
- cookie.cs
- DocumentProperties.cs
- XPathQilFactory.cs
- Encoder.cs
- ListViewInsertEventArgs.cs
- KeyValuePairs.cs
- DataSourceXmlClassAttribute.cs
- StorageAssociationSetMapping.cs
- ColumnResizeAdorner.cs
- FileRecordSequenceHelper.cs
- TraceSource.cs
- UnsafeNativeMethods.cs
- Identity.cs
- TextSelection.cs
- XmlWriter.cs
- LicenseContext.cs
- MultiplexingDispatchMessageFormatter.cs
- Serializer.cs
- ObjectStateManagerMetadata.cs
- Paragraph.cs
- SamlAuthorizationDecisionStatement.cs
- TimelineCollection.cs
- ElementMarkupObject.cs
- DataBoundControlHelper.cs
- PriorityQueue.cs
- TreeIterators.cs
- MetabaseReader.cs
- EdmTypeAttribute.cs
- RangeValidator.cs
- MinMaxParagraphWidth.cs
- TraceAsyncResult.cs
- CheckedListBox.cs
- DrawListViewColumnHeaderEventArgs.cs
- QuotedStringWriteStateInfo.cs
- EntityDataSourceChangingEventArgs.cs
- SqlClientPermission.cs
- OdbcConnectionStringbuilder.cs
- GlyphShapingProperties.cs
- CompositionTarget.cs
- ProfilePropertySettingsCollection.cs
- TextLine.cs
- WebPartActionVerb.cs
- SettingsPropertyCollection.cs
- SQLByteStorage.cs
- PixelShader.cs
- ParallelRangeManager.cs
- Guid.cs
- GroupLabel.cs
- XmlLanguageConverter.cs
- XmlSchemaSimpleTypeRestriction.cs
- SequentialWorkflowRootDesigner.cs
- ACL.cs
- SignedXml.cs
- XmlTypeAttribute.cs
- ConfigurationValidatorAttribute.cs
- FixedDocumentPaginator.cs
- XmlDataSourceView.cs
- SmiConnection.cs
- FormViewPageEventArgs.cs
- QueueProcessor.cs
- TemplateControlParser.cs
- HandlerFactoryCache.cs
- PasswordDeriveBytes.cs
- DataGridSortCommandEventArgs.cs
- CapabilitiesSection.cs
- XhtmlBasicTextViewAdapter.cs
- NotifyCollectionChangedEventArgs.cs
- OrderByQueryOptionExpression.cs
- SqlDependencyListener.cs
- EnvelopedSignatureTransform.cs
- Condition.cs
- TextElementEnumerator.cs
- BuildManagerHost.cs
- DependencyPropertyKey.cs
- SqlClientMetaDataCollectionNames.cs
- TextReader.cs
- Baml2006ReaderFrame.cs
- BindingCompleteEventArgs.cs
- BoundingRectTracker.cs
- XmlAttributes.cs
- DrawingImage.cs
- ResourceExpressionBuilder.cs
- XmlCompatibilityReader.cs
- ListViewUpdatedEventArgs.cs
- ComponentResourceKeyConverter.cs
- DataRecordInfo.cs
- EmbeddedMailObjectsCollection.cs
- ControlIdConverter.cs