Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- StructuredProperty.cs
- DocumentXmlWriter.cs
- OrCondition.cs
- SqlGenerator.cs
- URLMembershipCondition.cs
- ContentIterators.cs
- TraceUtility.cs
- CultureTable.cs
- TdsValueSetter.cs
- filewebrequest.cs
- MenuItemCollection.cs
- AccessedThroughPropertyAttribute.cs
- ProgressBarAutomationPeer.cs
- SelectionWordBreaker.cs
- SizeAnimationBase.cs
- XmlTextReaderImpl.cs
- EventSource.cs
- ColumnResizeUndoUnit.cs
- SamlAction.cs
- ExpressionBuilder.cs
- SoundPlayer.cs
- SqlRowUpdatingEvent.cs
- ActionItem.cs
- GlyphCollection.cs
- DataGridViewUtilities.cs
- AutoGeneratedFieldProperties.cs
- BinaryExpression.cs
- PropertyTabChangedEvent.cs
- RelatedImageListAttribute.cs
- XmlSchemaInclude.cs
- MimeBasePart.cs
- BinaryKeyIdentifierClause.cs
- WebBrowser.cs
- XmlSchemaDocumentation.cs
- OperationFormatUse.cs
- ConfigurationManagerInternal.cs
- TextMarkerSource.cs
- VisualStyleInformation.cs
- RotateTransform3D.cs
- Inline.cs
- ObjectRef.cs
- SystemIPInterfaceStatistics.cs
- CommonDialog.cs
- MDIControlStrip.cs
- PhysicalFontFamily.cs
- GregorianCalendarHelper.cs
- SqlBooleanMismatchVisitor.cs
- SelectionProviderWrapper.cs
- SurrogateChar.cs
- MultipleViewPattern.cs
- HelpHtmlBuilder.cs
- Timer.cs
- DispatcherFrame.cs
- ComplexObject.cs
- ClientSettingsSection.cs
- CompositeFontParser.cs
- CellRelation.cs
- ComponentChangedEvent.cs
- RemotingException.cs
- UntypedNullExpression.cs
- PropagatorResult.cs
- ProjectedSlot.cs
- Parameter.cs
- GeometryHitTestResult.cs
- StylusPointDescription.cs
- EtwTrace.cs
- PropertyInfo.cs
- cryptoapiTransform.cs
- CompositeFontInfo.cs
- CodeTypeDelegate.cs
- DesigntimeLicenseContext.cs
- ArraySubsetEnumerator.cs
- DefaultHttpHandler.cs
- XmlSchemaInclude.cs
- BaseParser.cs
- HijriCalendar.cs
- SmtpException.cs
- XmlNamedNodeMap.cs
- XmlILModule.cs
- UnsafeNativeMethods.cs
- HttpListenerContext.cs
- _SecureChannel.cs
- DateTimeOffsetStorage.cs
- KnownTypeDataContractResolver.cs
- Events.cs
- TerminatorSinks.cs
- BaseResourcesBuildProvider.cs
- ToolStripItemTextRenderEventArgs.cs
- ChannelFactoryRefCache.cs
- CapabilitiesSection.cs
- CompilerTypeWithParams.cs
- SByteConverter.cs
- documentation.cs
- ScrollViewerAutomationPeer.cs
- RuleSettings.cs
- ValueExpressions.cs
- BoolLiteral.cs
- ASCIIEncoding.cs
- TemplateBindingExpressionConverter.cs
- FilteredDataSetHelper.cs