Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Services / Monitoring / system / Diagnosticts / EventLogEntryCollection.cs / 1305376 / 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 EventLogInternal log; internal EventLogEntryCollection(EventLogInternal 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 EventLogInternal log; internal EventLogEntryCollection(EventLogInternal 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
- TemplateField.cs
- relpropertyhelper.cs
- EpmSourcePathSegment.cs
- StylusCaptureWithinProperty.cs
- XsdDataContractExporter.cs
- XmlCharacterData.cs
- StructureChangedEventArgs.cs
- TypeSemantics.cs
- SymbolMethod.cs
- _BaseOverlappedAsyncResult.cs
- DBSqlParser.cs
- CallId.cs
- EditorBrowsableAttribute.cs
- BaseServiceProvider.cs
- PropertyFilterAttribute.cs
- AnnotationAuthorChangedEventArgs.cs
- CommandConverter.cs
- FixedTextView.cs
- ExpressionEvaluator.cs
- LinearQuaternionKeyFrame.cs
- PrinterResolution.cs
- DesignerTransaction.cs
- SmiGettersStream.cs
- FunctionParameter.cs
- OpacityConverter.cs
- XmlNamespaceManager.cs
- LocalizableAttribute.cs
- ValidationErrorEventArgs.cs
- TextCollapsingProperties.cs
- SqlWorkflowPersistenceService.cs
- _SSPISessionCache.cs
- Convert.cs
- AutomationIdentifier.cs
- UmAlQuraCalendar.cs
- Label.cs
- EntityClassGenerator.cs
- SetStoryboardSpeedRatio.cs
- SqlFunctionAttribute.cs
- precedingquery.cs
- StreamGeometryContext.cs
- DatatypeImplementation.cs
- AuthenticationModulesSection.cs
- InvalidProgramException.cs
- JoinSymbol.cs
- XamlStyleSerializer.cs
- OdbcEnvironmentHandle.cs
- MessageDecoder.cs
- JapaneseLunisolarCalendar.cs
- SliderAutomationPeer.cs
- GeneratedContractType.cs
- TextParagraphCache.cs
- ErrorFormatterPage.cs
- IntSecurity.cs
- NameTable.cs
- BaseDataBoundControl.cs
- EmptyCollection.cs
- RegionData.cs
- SplashScreen.cs
- VectorKeyFrameCollection.cs
- BaseDataList.cs
- AssemblyBuilderData.cs
- Point3D.cs
- WindowsListViewGroup.cs
- NetStream.cs
- WeakEventTable.cs
- HtmlHistory.cs
- IisTraceWebEventProvider.cs
- MetricEntry.cs
- cache.cs
- ExplicitDiscriminatorMap.cs
- HttpRuntime.cs
- SqlDependency.cs
- GenericIdentity.cs
- FormsAuthentication.cs
- StackOverflowException.cs
- PhoneCallDesigner.cs
- MemoryMappedFileSecurity.cs
- EncryptedXml.cs
- SwitchElementsCollection.cs
- LinkClickEvent.cs
- EdmComplexPropertyAttribute.cs
- ListViewUpdatedEventArgs.cs
- Rect3DConverter.cs
- mediapermission.cs
- EventProviderBase.cs
- FixedDocumentPaginator.cs
- BitmapEffectDrawingContent.cs
- BlobPersonalizationState.cs
- Psha1DerivedKeyGenerator.cs
- MenuBase.cs
- UxThemeWrapper.cs
- ProgressBar.cs
- FrameworkEventSource.cs
- ProjectionCamera.cs
- SerializationEventsCache.cs
- SurrogateSelector.cs
- DesignerVerb.cs
- WeakReferenceKey.cs
- InternalBufferOverflowException.cs
- AccessKeyManager.cs