Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Services / Monitoring / system / Diagnosticts / EventLogEntryCollection.cs / 1 / EventLogEntryCollection.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Diagnostics { using System.Text; using System; using System.Collections; //Consider, V2, [....]: Is there a way to implement Contains //and IndexOf, can we live withouth this part of the ReadOnly //collection pattern? ////// public class EventLogEntryCollection : ICollection { private EventLog log; internal EventLogEntryCollection(EventLog log) { this.log = log; } ///[To be supplied.] ////// public int Count { get { return log.EntryCount; } } ////// Gets the number of entries in the event log /// ////// public virtual EventLogEntry this[int index] { get { return log.GetEntryAt(index); } } ////// Gets an entry in /// the event log, based on an index starting at 0. /// ////// public void CopyTo(EventLogEntry[] entries, int index) { ((ICollection)this).CopyTo((Array)entries, index); } ///[To be supplied.] ////// /// public IEnumerator GetEnumerator() { return new EntriesEnumerator(this); } internal EventLogEntry GetEntryAtNoThrow(int index) { return log.GetEntryAtNoThrow(index); } ///bool ICollection.IsSynchronized { get { return false; } } /// /// ICollection private interface implementation. /// ///object ICollection.SyncRoot { get { return this; } } /// /// ICollection private interface implementation. /// ///void ICollection.CopyTo(Array array, int index) { EventLogEntry[] entries = log.GetAllEntries(); Array.Copy(entries, 0, array, index, entries.Length); } /// /// private class EntriesEnumerator : IEnumerator { private EventLogEntryCollection entries; private int num = -1; private EventLogEntry cachedEntry = null; internal EntriesEnumerator(EventLogEntryCollection entries) { this.entries = entries; } ////// Holds an System.Diagnostics.EventLog.EventLogEntryCollection that /// consists of the entries in an event /// log. /// ////// public object Current { get { if (cachedEntry == null) throw new InvalidOperationException(SR.GetString(SR.NoCurrentEntry)); return cachedEntry; } } ////// Gets the entry at the current position. /// ////// public bool MoveNext() { num++; cachedEntry = entries.GetEntryAtNoThrow(num); return cachedEntry != null; } ////// Advances the enumerator to the next entry in the event log. /// ////// public void Reset() { num = -1; } } } }/// Resets the state of the enumeration. /// ///
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- basecomparevalidator.cs
- FunctionDescription.cs
- InputReferenceExpression.cs
- HwndHost.cs
- OutputCacheSettings.cs
- DropShadowEffect.cs
- XmlSchemaParticle.cs
- DataKey.cs
- MetafileHeader.cs
- TreePrinter.cs
- Binding.cs
- Action.cs
- PageRequestManager.cs
- DoubleAnimationUsingPath.cs
- XsdDateTime.cs
- Ipv6Element.cs
- MapPathBasedVirtualPathProvider.cs
- BinaryEditor.cs
- DataServiceHost.cs
- PolicyStatement.cs
- RelationshipConverter.cs
- RegexStringValidator.cs
- SqlPersonalizationProvider.cs
- KeyedHashAlgorithm.cs
- SafeNativeMethods.cs
- PeerPresenceInfo.cs
- XhtmlConformanceSection.cs
- UniqueIdentifierService.cs
- SqlUdtInfo.cs
- ListSortDescription.cs
- WebBrowserNavigatingEventHandler.cs
- GenerateTemporaryAssemblyTask.cs
- PropertyMetadata.cs
- CodeThrowExceptionStatement.cs
- SoapFormatter.cs
- ExecutionScope.cs
- ProcessThreadDesigner.cs
- ObjectRef.cs
- DoubleAnimationUsingPath.cs
- RestHandler.cs
- COM2ComponentEditor.cs
- DateTimeOffset.cs
- SingleObjectCollection.cs
- HScrollProperties.cs
- ViewPort3D.cs
- HttpCachePolicyWrapper.cs
- VirtualPath.cs
- OledbConnectionStringbuilder.cs
- TypeForwardedToAttribute.cs
- PipelineComponent.cs
- SafeArrayTypeMismatchException.cs
- ChtmlTextBoxAdapter.cs
- DocumentXmlWriter.cs
- TimeSpanSecondsOrInfiniteConverter.cs
- DispatcherTimer.cs
- TypeBuilderInstantiation.cs
- BufferModesCollection.cs
- SHA256.cs
- BindToObject.cs
- SchemaInfo.cs
- RuleSettings.cs
- GridEntryCollection.cs
- TextChange.cs
- MenuItem.cs
- ColorMatrix.cs
- StringSorter.cs
- ScrollViewer.cs
- ButtonFieldBase.cs
- DateTimeStorage.cs
- AutomationPropertyInfo.cs
- XmlSchemaSimpleType.cs
- CngKey.cs
- EntityCommandDefinition.cs
- DecoderNLS.cs
- IdleTimeoutMonitor.cs
- DBParameter.cs
- LabelDesigner.cs
- OutputCacheModule.cs
- InteropEnvironment.cs
- HttpCacheVaryByContentEncodings.cs
- DataGridViewRowConverter.cs
- WebPartConnectionsEventArgs.cs
- basenumberconverter.cs
- SchemaMapping.cs
- PtsPage.cs
- NotificationContext.cs
- StringSource.cs
- EncoderFallback.cs
- EllipseGeometry.cs
- FocusTracker.cs
- DisplayNameAttribute.cs
- LinqDataSourceStatusEventArgs.cs
- WebServiceErrorEvent.cs
- ActiveXHost.cs
- MissingFieldException.cs
- EngineSiteSapi.cs
- CngAlgorithm.cs
- GridViewColumnCollectionChangedEventArgs.cs
- OperatingSystem.cs
- ErrorReporting.cs