Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ ///// Resets the state of the enumeration. /// ///// 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; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007./// Resets the state of the enumeration. /// ///
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- WebColorConverter.cs
- ToolboxDataAttribute.cs
- RequestStatusBarUpdateEventArgs.cs
- ManifestResourceInfo.cs
- TypeInfo.cs
- KnownIds.cs
- ProvidersHelper.cs
- BitmapSource.cs
- JsonWriterDelegator.cs
- TraceContextEventArgs.cs
- AttachInfo.cs
- StickyNoteContentControl.cs
- ContentOperations.cs
- XmlConverter.cs
- PropertyConverter.cs
- Variant.cs
- EdmItemError.cs
- SmiRecordBuffer.cs
- Debug.cs
- BitmapEffect.cs
- XmlNamespaceDeclarationsAttribute.cs
- ModelUIElement3D.cs
- OperationDescriptionCollection.cs
- XmlSchemaInfo.cs
- BuildResult.cs
- StreamingContext.cs
- EventBuilder.cs
- LocalBuilder.cs
- XmlBindingWorker.cs
- DocumentEventArgs.cs
- CompilationLock.cs
- HelpEvent.cs
- WindowCollection.cs
- EntryWrittenEventArgs.cs
- SkipStoryboardToFill.cs
- AutomationPropertyInfo.cs
- XmlNotation.cs
- ContentTextAutomationPeer.cs
- AutomationTextAttribute.cs
- ElementInit.cs
- QilValidationVisitor.cs
- CheckBox.cs
- FixedPageProcessor.cs
- TableParagraph.cs
- DefaultAuthorizationContext.cs
- WebControl.cs
- NavigateEvent.cs
- CultureInfoConverter.cs
- DefaultValueConverter.cs
- AutomationProperties.cs
- ContextMenuService.cs
- MenuItem.cs
- CrossSiteScriptingValidation.cs
- listitem.cs
- RootBrowserWindowProxy.cs
- RoutedPropertyChangedEventArgs.cs
- HelpEvent.cs
- MethodAccessException.cs
- ConfigXmlReader.cs
- C14NUtil.cs
- DataKeyCollection.cs
- EngineSiteSapi.cs
- DataControlFieldCell.cs
- DataBoundControl.cs
- RIPEMD160Managed.cs
- BaseCodeDomTreeGenerator.cs
- CustomWebEventKey.cs
- TraceHandlerErrorFormatter.cs
- FixedPageStructure.cs
- ClientSession.cs
- RegexReplacement.cs
- UpDownEvent.cs
- DbUpdateCommandTree.cs
- TextChange.cs
- FixedSOMGroup.cs
- EnumerableRowCollectionExtensions.cs
- WebPartZoneBase.cs
- TextServicesCompartment.cs
- ChannelSinkStacks.cs
- AdapterDictionary.cs
- ResolveMatchesCD1.cs
- Int32Collection.cs
- CustomLineCap.cs
- WebPartsPersonalization.cs
- SQLDoubleStorage.cs
- PackUriHelper.cs
- CultureInfoConverter.cs
- EpmTargetPathSegment.cs
- JsonWriter.cs
- graph.cs
- SqlDataReaderSmi.cs
- XmlDataCollection.cs
- ViewEventArgs.cs
- IdentitySection.cs
- AutomationPropertyInfo.cs
- ContentFilePart.cs
- SafeBitVector32.cs
- TypefaceMap.cs
- CreateUserWizard.cs
- ResXResourceSet.cs