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
- HttpListenerRequest.cs
- FieldCollectionEditor.cs
- PasswordBoxAutomationPeer.cs
- DesignerAdRotatorAdapter.cs
- WindowsPrincipal.cs
- TypeValidationEventArgs.cs
- BasePropertyDescriptor.cs
- SqlDataSourceCommandEventArgs.cs
- HyperLink.cs
- XXXOnTypeBuilderInstantiation.cs
- RootBrowserWindowProxy.cs
- FixedSOMSemanticBox.cs
- ListViewSortEventArgs.cs
- EventBuilder.cs
- ValidationEventArgs.cs
- CompilationUtil.cs
- SerTrace.cs
- ItemMap.cs
- TemplateComponentConnector.cs
- ToolStripCustomTypeDescriptor.cs
- TextFormattingConverter.cs
- PathFigureCollectionConverter.cs
- UncommonField.cs
- VisualStyleRenderer.cs
- CryptoConfig.cs
- PersonalizationEntry.cs
- EncodingTable.cs
- LogLogRecordHeader.cs
- MouseActionValueSerializer.cs
- OledbConnectionStringbuilder.cs
- DataServiceResponse.cs
- DBBindings.cs
- HashSet.cs
- ResourceDictionary.cs
- SecurityAlgorithmSuiteConverter.cs
- SignedPkcs7.cs
- DebugController.cs
- CodeTypeMemberCollection.cs
- Baml2006SchemaContext.cs
- AssociationProvider.cs
- WmlPageAdapter.cs
- EmptyCollection.cs
- Config.cs
- ApplicationContext.cs
- CharacterMetrics.cs
- PixelFormatConverter.cs
- EncoderNLS.cs
- AssemblyCache.cs
- RadioButton.cs
- ColorTranslator.cs
- TreeNodeEventArgs.cs
- StringUtil.cs
- CryptoApi.cs
- Oid.cs
- ScriptBehaviorDescriptor.cs
- ScrollableControl.cs
- WCFModelStrings.Designer.cs
- LinkDescriptor.cs
- SafeRegistryKey.cs
- DPTypeDescriptorContext.cs
- TableRow.cs
- xmlformatgeneratorstatics.cs
- NativeMethods.cs
- FormatterServices.cs
- MobileSysDescriptionAttribute.cs
- RelationshipConstraintValidator.cs
- DefaultBinder.cs
- SecurityPolicySection.cs
- Line.cs
- Model3DCollection.cs
- FileEnumerator.cs
- NullableBoolConverter.cs
- Point3DCollectionConverter.cs
- columnmapkeybuilder.cs
- prompt.cs
- ModuleBuilder.cs
- X509Chain.cs
- PageResolution.cs
- ToolStripDropDownButton.cs
- TaskCanceledException.cs
- ByteRangeDownloader.cs
- SqlTypesSchemaImporter.cs
- EncryptedKey.cs
- SQLBinary.cs
- InternalsVisibleToAttribute.cs
- activationcontext.cs
- OrderedDictionaryStateHelper.cs
- _HTTPDateParse.cs
- ApplicationTrust.cs
- SimpleType.cs
- MimeBasePart.cs
- WpfWebRequestHelper.cs
- OperationBehaviorAttribute.cs
- ErrorHandler.cs
- Blend.cs
- ObjectResult.cs
- TreeViewImageKeyConverter.cs
- AppSettingsReader.cs
- TextServicesPropertyRanges.cs
- SafeNativeMethodsCLR.cs