Code:
/ FX-1434 / FX-1434 / 1.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
- RequestSecurityTokenForRemoteTokenFactory.cs
- ChannelEndpointElementCollection.cs
- Membership.cs
- WebContext.cs
- CssTextWriter.cs
- JsonServiceDocumentSerializer.cs
- XmlBindingWorker.cs
- HttpModulesSection.cs
- smtpconnection.cs
- UnmanagedMemoryStream.cs
- TrustManager.cs
- ReadWriteSpinLock.cs
- CompiledQueryCacheEntry.cs
- SynchronizationLockException.cs
- SqlRowUpdatedEvent.cs
- XmlMtomReader.cs
- NotFiniteNumberException.cs
- WindowsUserNameSecurityTokenAuthenticator.cs
- SessionStateSection.cs
- ManagedWndProcTracker.cs
- SmiMetaDataProperty.cs
- FactoryGenerator.cs
- StickyNote.cs
- ColorTranslator.cs
- DbConvert.cs
- TypeBuilderInstantiation.cs
- counter.cs
- _SSPISessionCache.cs
- Context.cs
- StringToken.cs
- OleDbCommandBuilder.cs
- mediaeventshelper.cs
- Rijndael.cs
- ConfigXmlCDataSection.cs
- ManagementObjectSearcher.cs
- DoubleMinMaxAggregationOperator.cs
- LineBreak.cs
- BinHexDecoder.cs
- TextModifier.cs
- MailMessageEventArgs.cs
- SchemaCollectionPreprocessor.cs
- MenuBase.cs
- SerTrace.cs
- OleDbWrapper.cs
- SplitContainer.cs
- DataGridViewColumnDividerDoubleClickEventArgs.cs
- TimeManager.cs
- SmtpReplyReaderFactory.cs
- StateManagedCollection.cs
- FrameworkContextData.cs
- XPathDocumentNavigator.cs
- ConfigurationSchemaErrors.cs
- AccessControlList.cs
- MemberInfoSerializationHolder.cs
- XmlSerializableServices.cs
- DataIdProcessor.cs
- MouseButtonEventArgs.cs
- ByteRangeDownloader.cs
- PlanCompilerUtil.cs
- ResourcesChangeInfo.cs
- ChangeProcessor.cs
- TextProviderWrapper.cs
- XamlReader.cs
- DrawingContextDrawingContextWalker.cs
- CodeIdentifier.cs
- Asn1IntegerConverter.cs
- ReferentialConstraint.cs
- DataGridViewColumnHeaderCell.cs
- XmlAttributeOverrides.cs
- SingleObjectCollection.cs
- UxThemeWrapper.cs
- NonClientArea.cs
- TypefaceMetricsCache.cs
- Vector3DIndependentAnimationStorage.cs
- AddInController.cs
- ExtentCqlBlock.cs
- FixUpCollection.cs
- TrackingMemoryStreamFactory.cs
- BroadcastEventHelper.cs
- DataGridViewEditingControlShowingEventArgs.cs
- RemoteHelper.cs
- ErrorWebPart.cs
- NamespaceEmitter.cs
- DESCryptoServiceProvider.cs
- DeviceContext2.cs
- MemoryStream.cs
- _NativeSSPI.cs
- StringBuilder.cs
- SqlServices.cs
- Matrix.cs
- PingOptions.cs
- GlyphCache.cs
- xamlnodes.cs
- TextPointer.cs
- SqlNodeTypeOperators.cs
- AccessorTable.cs
- XmlSerializerVersionAttribute.cs
- RequestQueryParser.cs
- Constants.cs
- BasicViewGenerator.cs