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
- UniqueEventHelper.cs
- CharacterBuffer.cs
- AssociativeAggregationOperator.cs
- AccessorTable.cs
- NonPrimarySelectionGlyph.cs
- ObjectPersistData.cs
- FieldToken.cs
- SQLDateTime.cs
- TextRangeEdit.cs
- ProcessInfo.cs
- ConnectionPoolManager.cs
- QilStrConcat.cs
- FormViewInsertedEventArgs.cs
- HyperLink.cs
- EntitySetDataBindingList.cs
- NonDualMessageSecurityOverHttpElement.cs
- XsdDateTime.cs
- uribuilder.cs
- Context.cs
- UnmanagedBitmapWrapper.cs
- ResourceProviderFactory.cs
- LinearGradientBrush.cs
- HandleCollector.cs
- PeerCollaboration.cs
- FontFamilyValueSerializer.cs
- ObjectCache.cs
- GenerateTemporaryAssemblyTask.cs
- BitStream.cs
- SplitterPanel.cs
- TargetControlTypeCache.cs
- ListItemCollection.cs
- ClosableStream.cs
- DataFieldEditor.cs
- OleDbPermission.cs
- PageContent.cs
- CopyNodeSetAction.cs
- Soap12ProtocolImporter.cs
- EditableLabelControl.cs
- Int32Storage.cs
- SqlDataSourceConfigureSelectPanel.cs
- ExternalException.cs
- FixedSOMPageElement.cs
- ConsumerConnectionPoint.cs
- MethodRental.cs
- ObjectStateFormatter.cs
- Baml2006KnownTypes.cs
- RangeValuePattern.cs
- ContainerFilterService.cs
- CodeCastExpression.cs
- EventRecord.cs
- BuildProvider.cs
- SelectionListDesigner.cs
- ElementAction.cs
- Win32Exception.cs
- Duration.cs
- SamlAssertion.cs
- SqlDelegatedTransaction.cs
- CustomErrorsSectionWrapper.cs
- MetadataCollection.cs
- TableCell.cs
- List.cs
- SoapTypeAttribute.cs
- Bezier.cs
- BreakSafeBase.cs
- XmlSchemaAny.cs
- GridSplitterAutomationPeer.cs
- NullableConverter.cs
- PageContent.cs
- RegisteredExpandoAttribute.cs
- MenuDesigner.cs
- ResXResourceSet.cs
- NameValuePermission.cs
- InputReportEventArgs.cs
- ConnectionConsumerAttribute.cs
- LayoutUtils.cs
- InputElement.cs
- DataServiceProviderMethods.cs
- WebSysDescriptionAttribute.cs
- LockedHandleGlyph.cs
- TextServicesCompartmentContext.cs
- BezierSegment.cs
- ContractMapping.cs
- ControlPaint.cs
- StateInitialization.cs
- CharAnimationBase.cs
- UnsafeNativeMethods.cs
- CalendarTable.cs
- DelegateInArgument.cs
- XPathScanner.cs
- CalendarItem.cs
- DisplayMemberTemplateSelector.cs
- TableRowCollection.cs
- RenderingBiasValidation.cs
- OrderedDictionary.cs
- LassoSelectionBehavior.cs
- ToolStripSeparatorRenderEventArgs.cs
- HttpProxyCredentialType.cs
- ColorPalette.cs
- ArcSegment.cs
- CounterSampleCalculator.cs