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
- BufferModeSettings.cs
- ExpressionWriter.cs
- AssemblyBuilder.cs
- ProtectedUri.cs
- DataServiceEntityAttribute.cs
- DataGridViewIntLinkedList.cs
- ToolBarButtonClickEvent.cs
- PrintingPermission.cs
- CodeArgumentReferenceExpression.cs
- PropertyGridEditorPart.cs
- PageThemeBuildProvider.cs
- NavigationWindow.cs
- SQlBooleanStorage.cs
- XmlDataSourceView.cs
- GetPageCompletedEventArgs.cs
- OdbcReferenceCollection.cs
- AvtEvent.cs
- CngAlgorithmGroup.cs
- DeviceContext2.cs
- StateRuntime.cs
- HttpCacheVary.cs
- XsltCompileContext.cs
- SafeThemeHandle.cs
- Timer.cs
- NetNamedPipeBindingElement.cs
- InheritanceAttribute.cs
- XmlText.cs
- Geometry.cs
- FlowDocumentView.cs
- QilBinary.cs
- DrawingState.cs
- Material.cs
- ContextStaticAttribute.cs
- DataControlField.cs
- ChannelDispatcherBase.cs
- SimpleHandlerBuildProvider.cs
- SmuggledIUnknown.cs
- LabelLiteral.cs
- ToolStripRendererSwitcher.cs
- Matrix3DConverter.cs
- SortedDictionary.cs
- InteropAutomationProvider.cs
- SiteMapPath.cs
- TagNameToTypeMapper.cs
- ListMarkerLine.cs
- DataGridViewSelectedColumnCollection.cs
- HttpCacheVary.cs
- HijriCalendar.cs
- OptimalBreakSession.cs
- CngKeyCreationParameters.cs
- KeyValueConfigurationElement.cs
- ConfigurationLocation.cs
- ControlParameter.cs
- PerformanceCounterCategory.cs
- AlphabetConverter.cs
- DbConnectionPoolGroup.cs
- DataGridHeaderBorder.cs
- PathSegment.cs
- NetStream.cs
- QualifiedCellIdBoolean.cs
- safesecurityhelperavalon.cs
- FrameSecurityDescriptor.cs
- RSAPKCS1SignatureFormatter.cs
- MachinePropertyVariants.cs
- GenerateTemporaryTargetAssembly.cs
- CapiHashAlgorithm.cs
- FlagsAttribute.cs
- PathFigure.cs
- ForwardPositionQuery.cs
- EncryptedPackage.cs
- Executor.cs
- RegexGroup.cs
- mediaclock.cs
- CellRelation.cs
- ExpressionNormalizer.cs
- FlowDocumentPage.cs
- Bitmap.cs
- RemotingAttributes.cs
- HttpListenerContext.cs
- RegexRunnerFactory.cs
- RenderTargetBitmap.cs
- AppearanceEditorPart.cs
- AuthenticationModuleElementCollection.cs
- ItemContainerGenerator.cs
- DataGridViewCellEventArgs.cs
- EventDescriptorCollection.cs
- PersianCalendar.cs
- ExpressionBinding.cs
- WaitHandle.cs
- WebPartsPersonalization.cs
- AudioStateChangedEventArgs.cs
- TaskHelper.cs
- EmbeddedMailObjectsCollection.cs
- ObjectManager.cs
- CodeDomLocalizationProvider.cs
- ContextStack.cs
- OdbcConnectionOpen.cs
- InfoCardSymmetricCrypto.cs
- IssuanceLicense.cs
- EntityCodeGenerator.cs