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
- EnumerationRangeValidationUtil.cs
- PriorityQueue.cs
- FormatControl.cs
- LoginCancelEventArgs.cs
- _Connection.cs
- TreeViewDesigner.cs
- MetadataImporter.cs
- VBIdentifierDesigner.xaml.cs
- LinqDataSourceDisposeEventArgs.cs
- ApplicationActivator.cs
- AssemblyAttributes.cs
- LinqDataSourceView.cs
- WindowsMenu.cs
- DataBoundControl.cs
- ControlTemplate.cs
- ApplicationServiceManager.cs
- Shape.cs
- PointCollectionValueSerializer.cs
- Geometry.cs
- AppearanceEditorPart.cs
- SessionKeyExpiredException.cs
- SmtpException.cs
- HMACMD5.cs
- SqlServices.cs
- XmlSerializerImportOptions.cs
- ObjectStateManager.cs
- GeneratedView.cs
- WindowsUserNameCachingSecurityTokenAuthenticator.cs
- RijndaelManagedTransform.cs
- OdbcHandle.cs
- RIPEMD160.cs
- TableLayoutStyle.cs
- DefaultExpressionVisitor.cs
- StreamResourceInfo.cs
- ItemMap.cs
- ReaderWriterLockWrapper.cs
- LocatorBase.cs
- SqlTypeConverter.cs
- MetadataPropertyAttribute.cs
- InputLanguageEventArgs.cs
- ControlAdapter.cs
- figurelengthconverter.cs
- ServiceModelSectionGroup.cs
- ItemsPanelTemplate.cs
- DataServiceConfiguration.cs
- ListBindingHelper.cs
- SymbolEqualComparer.cs
- GeneratedView.cs
- ControlAdapter.cs
- SiteMap.cs
- DynamicValidatorEventArgs.cs
- FontEditor.cs
- ContentOperations.cs
- SystemIcons.cs
- DocumentPageTextView.cs
- ParseChildrenAsPropertiesAttribute.cs
- codemethodreferenceexpression.cs
- XmlSchemaObject.cs
- IncrementalReadDecoders.cs
- CngAlgorithmGroup.cs
- ToolStripTemplateNode.cs
- RootBuilder.cs
- NonParentingControl.cs
- ControllableStoryboardAction.cs
- ActiveDesignSurfaceEvent.cs
- SqlDataRecord.cs
- MessageQueueCriteria.cs
- ServiceBusyException.cs
- DataSourceControl.cs
- EntityObject.cs
- ControlIdConverter.cs
- TabControlEvent.cs
- MouseOverProperty.cs
- KerberosTokenFactoryCredential.cs
- OneOfConst.cs
- ImageSource.cs
- FunctionUpdateCommand.cs
- X509ScopedServiceCertificateElement.cs
- DrawingBrush.cs
- AnchorEditor.cs
- Instrumentation.cs
- ItemDragEvent.cs
- ListItemCollection.cs
- mongolianshape.cs
- WebColorConverter.cs
- MimeTypePropertyAttribute.cs
- RoleBoolean.cs
- RsaElement.cs
- SqlNotificationRequest.cs
- SHA384Managed.cs
- FileDialog.cs
- DBDataPermissionAttribute.cs
- ButtonFieldBase.cs
- RegexBoyerMoore.cs
- NavigationEventArgs.cs
- WebPartCollection.cs
- BaseParaClient.cs
- SqlMethods.cs
- GenericsInstances.cs
- WinInet.cs