Code:
/ DotNET / DotNET / 8.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
- HttpCacheParams.cs
- WinEventHandler.cs
- DashStyle.cs
- ObservableCollection.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- QilPatternVisitor.cs
- ClientTargetSection.cs
- SpeakCompletedEventArgs.cs
- SqlTransaction.cs
- SectionInformation.cs
- XsltException.cs
- CompositionTarget.cs
- DataColumn.cs
- RSAPKCS1SignatureFormatter.cs
- VisualProxy.cs
- MimeParameters.cs
- FastEncoder.cs
- ListParagraph.cs
- XmlIncludeAttribute.cs
- AttributeCollection.cs
- InputQueue.cs
- PropertyItem.cs
- ImageAutomationPeer.cs
- TypeElement.cs
- XmlNavigatorStack.cs
- NameTable.cs
- RegionData.cs
- XmlSchemaAnnotated.cs
- Sql8ConformanceChecker.cs
- LogRestartAreaEnumerator.cs
- MouseOverProperty.cs
- LocalizableAttribute.cs
- KeyInterop.cs
- QueryReaderSettings.cs
- ListGeneralPage.cs
- CopyOnWriteList.cs
- XmlSchemaElement.cs
- UserCancellationException.cs
- HyperLinkStyle.cs
- SpeechUI.cs
- pingexception.cs
- DropTarget.cs
- UserNamePasswordValidator.cs
- Zone.cs
- Attributes.cs
- ItemList.cs
- PersonalizationStateInfoCollection.cs
- PersonalizationDictionary.cs
- UniqueIdentifierService.cs
- ChangePassword.cs
- MessageFilterException.cs
- Button.cs
- WebPartDisplayMode.cs
- ProfileService.cs
- HostExecutionContextManager.cs
- FormClosedEvent.cs
- CodeTryCatchFinallyStatement.cs
- ConsoleTraceListener.cs
- Matrix3D.cs
- XmlIlGenerator.cs
- TreeViewTemplateSelector.cs
- RulePatternOps.cs
- MimeReflector.cs
- ThicknessConverter.cs
- RightsManagementInformation.cs
- ArrangedElementCollection.cs
- XmlWriterDelegator.cs
- SplitterEvent.cs
- WindowsGraphics.cs
- SpellerHighlightLayer.cs
- OAVariantLib.cs
- LambdaExpression.cs
- DependencySource.cs
- TextDecorationUnitValidation.cs
- AxisAngleRotation3D.cs
- ValidationSummary.cs
- GAC.cs
- ScrollBar.cs
- OleDbParameter.cs
- InkCollectionBehavior.cs
- TemplateManager.cs
- XPathDocument.cs
- PathData.cs
- GeometryHitTestParameters.cs
- BoundingRectTracker.cs
- WsdlBuildProvider.cs
- ExtentJoinTreeNode.cs
- WindowsFormsLinkLabel.cs
- OptimisticConcurrencyException.cs
- nulltextcontainer.cs
- Point3DAnimation.cs
- MenuCommandService.cs
- RightsManagementResourceHelper.cs
- StylusPointCollection.cs
- CompiledRegexRunner.cs
- DbProviderFactoriesConfigurationHandler.cs
- Model3D.cs
- SiteMapNodeCollection.cs
- KeyGesture.cs
- ReliableReplySessionChannel.cs