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
- WinFormsComponentEditor.cs
- CompressStream.cs
- DLinqAssociationProvider.cs
- Odbc32.cs
- TerminatorSinks.cs
- SemanticResultValue.cs
- EnvelopedSignatureTransform.cs
- NumericUpDownAcceleration.cs
- FontFamily.cs
- UnsafeNativeMethods.cs
- CacheDependency.cs
- DataGridLengthConverter.cs
- XmlSchemaType.cs
- HtmlInputReset.cs
- MethodBuilderInstantiation.cs
- SystemIcons.cs
- CurrentChangedEventManager.cs
- basecomparevalidator.cs
- WebHttpElement.cs
- XmlILConstructAnalyzer.cs
- ObjectListCommandCollection.cs
- AddInPipelineAttributes.cs
- InkCanvasSelection.cs
- BinaryCommonClasses.cs
- SpecialTypeDataContract.cs
- FileSystemEventArgs.cs
- webbrowsersite.cs
- FrameSecurityDescriptor.cs
- FragmentQueryKB.cs
- Signature.cs
- DataConnectionHelper.cs
- LongTypeConverter.cs
- DynamicValueConverter.cs
- DataGridViewCellEventArgs.cs
- DataBoundControl.cs
- RootDesignerSerializerAttribute.cs
- SecurityPermission.cs
- XmlRawWriter.cs
- WebControlsSection.cs
- ExpressionBuilder.cs
- SelectionRangeConverter.cs
- PeerInputChannelListener.cs
- Set.cs
- MessageSecurityOverMsmqElement.cs
- HTTPNotFoundHandler.cs
- SplineKeyFrames.cs
- SqlStatistics.cs
- RuntimeConfigLKG.cs
- OdbcReferenceCollection.cs
- TextDecorationUnitValidation.cs
- login.cs
- ResourcePermissionBaseEntry.cs
- EnumUnknown.cs
- AdapterUtil.cs
- DependencyObjectPropertyDescriptor.cs
- BlurBitmapEffect.cs
- SettingsAttributeDictionary.cs
- SymbolDocumentGenerator.cs
- LogFlushAsyncResult.cs
- httpserverutility.cs
- MD5Cng.cs
- QuestionEventArgs.cs
- XhtmlTextWriter.cs
- VisualTreeUtils.cs
- ArraySortHelper.cs
- DataGridTableCollection.cs
- NamedObject.cs
- LambdaCompiler.Statements.cs
- PersonalizationState.cs
- FontFamily.cs
- AutomationElementCollection.cs
- XPathSelfQuery.cs
- SettingsPropertyCollection.cs
- TransportBindingElement.cs
- ArrayConverter.cs
- ReferentialConstraint.cs
- AutoGeneratedField.cs
- FontSource.cs
- ResourceKey.cs
- ChangeBlockUndoRecord.cs
- DataListItem.cs
- ListItem.cs
- CounterSample.cs
- ErrorEventArgs.cs
- CompensatableTransactionScopeActivity.cs
- HitTestResult.cs
- HttpCacheParams.cs
- DBDataPermission.cs
- TypeDescriptor.cs
- RequestBringIntoViewEventArgs.cs
- precedingsibling.cs
- WebConfigurationHost.cs
- SymDocumentType.cs
- GeneratedCodeAttribute.cs
- Clipboard.cs
- ListControlConvertEventArgs.cs
- Ref.cs
- Vector.cs
- ChtmlTextWriter.cs
- AssemblyCache.cs