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
- ReadOnlyAttribute.cs
- Point3DAnimationUsingKeyFrames.cs
- WindowsIPAddress.cs
- AssemblyNameProxy.cs
- DateTimeFormat.cs
- MethodImplAttribute.cs
- DrawingVisual.cs
- RuntimeComponentFilter.cs
- XmlReflectionImporter.cs
- MsmqTransportSecurity.cs
- PropertyDescriptor.cs
- ChildrenQuery.cs
- CSharpCodeProvider.cs
- TdsParameterSetter.cs
- UserControl.cs
- ADConnectionHelper.cs
- TextSegment.cs
- RangeBaseAutomationPeer.cs
- SqlCommandSet.cs
- CodeGen.cs
- EventLogStatus.cs
- PageStatePersister.cs
- OTFRasterizer.cs
- OdbcEnvironmentHandle.cs
- QilValidationVisitor.cs
- PngBitmapDecoder.cs
- ContextStack.cs
- DrawingContext.cs
- WebBrowserContainer.cs
- HttpProfileBase.cs
- BuildProvider.cs
- xsdvalidator.cs
- FamilyMapCollection.cs
- ClientTargetSection.cs
- FileDialog_Vista_Interop.cs
- StrongNameKeyPair.cs
- HelpInfo.cs
- ProcessModule.cs
- CellParagraph.cs
- TransportConfigurationTypeElementCollection.cs
- EmbeddedMailObject.cs
- XmlUrlResolver.cs
- IDispatchConstantAttribute.cs
- OracleInfoMessageEventArgs.cs
- XmlnsDictionary.cs
- LocalizedNameDescriptionPair.cs
- WhileDesigner.xaml.cs
- CodeNamespaceImportCollection.cs
- HScrollBar.cs
- WindowsFormsHostPropertyMap.cs
- XmlAnyElementAttributes.cs
- HTMLTagNameToTypeMapper.cs
- PageCache.cs
- RangeBase.cs
- GradientStop.cs
- NativeActivityAbortContext.cs
- FixedElement.cs
- DesignerEditorPartChrome.cs
- XmlTypeAttribute.cs
- TypeDependencyAttribute.cs
- _SslSessionsCache.cs
- JsonDataContract.cs
- CompoundFileIOPermission.cs
- SiteMap.cs
- ParserStreamGeometryContext.cs
- MetadataUtil.cs
- TransformPatternIdentifiers.cs
- ServicePointManagerElement.cs
- RoutedCommand.cs
- WebBrowserNavigatedEventHandler.cs
- LocalBuilder.cs
- ToolStripControlHost.cs
- EnvelopedSignatureTransform.cs
- Path.cs
- ModulesEntry.cs
- Crc32Helper.cs
- XhtmlBasicPageAdapter.cs
- Misc.cs
- UInt32Converter.cs
- RelatedImageListAttribute.cs
- ProviderMetadataCachedInformation.cs
- RectangleGeometry.cs
- WorkflowTransactionOptions.cs
- WebPartPersonalization.cs
- ConfigurationException.cs
- LeaseManager.cs
- RadioButtonPopupAdapter.cs
- Queue.cs
- NestedContainer.cs
- CounterSampleCalculator.cs
- safesecurityhelperavalon.cs
- Size3DConverter.cs
- CompositionTarget.cs
- XmlSchemaProviderAttribute.cs
- DropShadowBitmapEffect.cs
- DetailsViewPagerRow.cs
- WhereQueryOperator.cs
- CompilerParameters.cs
- ItemsControl.cs
- URL.cs