Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / 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; } } } }/// Resets the state of the enumeration. /// ///
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DESCryptoServiceProvider.cs
- StylusTouchDevice.cs
- GenericTypeParameterBuilder.cs
- SiteOfOriginContainer.cs
- SynchronizedChannelCollection.cs
- MediaEntryAttribute.cs
- ExceptionValidationRule.cs
- RemoveStoryboard.cs
- TreeIterators.cs
- BreakRecordTable.cs
- NegotiateStream.cs
- AlternateView.cs
- TypeConverters.cs
- StyleBamlRecordReader.cs
- HttpListener.cs
- XmlSignatureProperties.cs
- EnumType.cs
- HitTestDrawingContextWalker.cs
- HttpFileCollection.cs
- SqlInfoMessageEvent.cs
- DES.cs
- ArgIterator.cs
- ProviderUtil.cs
- MemberHolder.cs
- ObjectTag.cs
- StaticExtension.cs
- X509InitiatorCertificateClientElement.cs
- TableAutomationPeer.cs
- ClientSettings.cs
- BitmapEffectvisualstate.cs
- HttpCacheVaryByContentEncodings.cs
- ValidationVisibilityAttribute.cs
- _LazyAsyncResult.cs
- XmlSigningNodeWriter.cs
- initElementDictionary.cs
- ActivityMarkupSerializationProvider.cs
- WebPartDisplayModeEventArgs.cs
- ListControl.cs
- BaseResourcesBuildProvider.cs
- Matrix.cs
- MouseEvent.cs
- StdValidatorsAndConverters.cs
- SimpleApplicationHost.cs
- FixUpCollection.cs
- TraceFilter.cs
- CodeNamespaceImportCollection.cs
- DBCommandBuilder.cs
- JsonDeserializer.cs
- SimpleRecyclingCache.cs
- User.cs
- QueryProcessor.cs
- NullReferenceException.cs
- PersistenceTypeAttribute.cs
- FixedSOMImage.cs
- IncrementalHitTester.cs
- ControlValuePropertyAttribute.cs
- LockedBorderGlyph.cs
- BulletedListEventArgs.cs
- MatrixAnimationUsingPath.cs
- AnimationTimeline.cs
- TextTreeInsertUndoUnit.cs
- SoapFormatterSinks.cs
- ServiceOperation.cs
- XmlSchemaProviderAttribute.cs
- HotSpot.cs
- TextRange.cs
- RelativeSource.cs
- InfoCardListRequest.cs
- NamespaceEmitter.cs
- Matrix3D.cs
- TempFiles.cs
- XmlSchemaAll.cs
- StaticExtension.cs
- MimeFormatExtensions.cs
- CustomAttributeSerializer.cs
- ThreadStaticAttribute.cs
- TemplateBamlTreeBuilder.cs
- DynamicILGenerator.cs
- PassportAuthenticationEventArgs.cs
- SiteMapSection.cs
- SQLDouble.cs
- TraceProvider.cs
- InternalCache.cs
- DebuggerService.cs
- PropertyMapper.cs
- TextRange.cs
- ExtenderProviderService.cs
- TreeNodeBinding.cs
- DisposableCollectionWrapper.cs
- Odbc32.cs
- MemberDomainMap.cs
- WindowsFormsHelpers.cs
- AppDomainManager.cs
- EntityTypeEmitter.cs
- AsyncCodeActivity.cs
- AnnotationHelper.cs
- CustomAttribute.cs
- NodeFunctions.cs
- ServicesUtilities.cs
- EdmSchemaAttribute.cs