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?
///
/// [To be supplied.]
///
public class EventLogEntryCollection : ICollection {
private EventLog log;
internal EventLogEntryCollection(EventLog log) {
this.log = log;
}
///
///
/// Gets the number of entries in the event log
///
///
public int Count {
get {
return log.EntryCount;
}
}
///
///
/// Gets an entry in
/// the event log, based on an index starting at 0.
///
///
public virtual EventLogEntry this[int index] {
get {
return log.GetEntryAt(index);
}
}
///
/// [To be supplied.]
///
public void CopyTo(EventLogEntry[] entries, int index) {
((ICollection)this).CopyTo((Array)entries, index);
}
///
///
///
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);
}
///
///
/// Holds an System.Diagnostics.EventLog.EventLogEntryCollection that
/// consists of the entries in an event
/// log.
///
///
private class EntriesEnumerator : IEnumerator {
private EventLogEntryCollection entries;
private int num = -1;
private EventLogEntry cachedEntry = null;
internal EntriesEnumerator(EventLogEntryCollection entries) {
this.entries = entries;
}
///
///
/// Gets the entry at the current position.
///
///
public object Current {
get {
if (cachedEntry == null)
throw new InvalidOperationException(SR.GetString(SR.NoCurrentEntry));
return cachedEntry;
}
}
///
///
/// Advances the enumerator to the next entry in the event log.
///
///
public bool MoveNext() {
num++;
cachedEntry = entries.GetEntryAtNoThrow(num);
return cachedEntry != null;
}
///
///
/// Resets the state of the enumeration.
///
///
public void Reset() {
num = -1;
}
}
}
}
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- StateRuntime.cs
- assertwrapper.cs
- RequestCacheManager.cs
- RelationshipManager.cs
- DBSqlParser.cs
- NestedContainer.cs
- ZipIOCentralDirectoryBlock.cs
- BoolExpr.cs
- FileDialogCustomPlacesCollection.cs
- EditCommandColumn.cs
- DetailsViewPagerRow.cs
- ComboBox.cs
- EventProxy.cs
- TabRenderer.cs
- ApplyHostConfigurationBehavior.cs
- OdbcConnectionStringbuilder.cs
- DPCustomTypeDescriptor.cs
- CompModSwitches.cs
- ListDictionaryInternal.cs
- UrlMappingCollection.cs
- ColumnTypeConverter.cs
- ActivityScheduledQuery.cs
- ProfileInfo.cs
- MediaContext.cs
- TraceSection.cs
- DataGridPageChangedEventArgs.cs
- PrintEvent.cs
- ManipulationStartingEventArgs.cs
- CodeComment.cs
- OrderByQueryOptionExpression.cs
- ResourcePool.cs
- Canvas.cs
- CircleHotSpot.cs
- KeyEvent.cs
- IssuedSecurityTokenParameters.cs
- SchemaMapping.cs
- ViewStateModeByIdAttribute.cs
- FlowLayoutPanel.cs
- FileReservationCollection.cs
- XmlMembersMapping.cs
- DataBindingValueUIHandler.cs
- SqlClientMetaDataCollectionNames.cs
- HtmlShim.cs
- CrossContextChannel.cs
- TextRenderer.cs
- Mapping.cs
- XmlValidatingReader.cs
- ChannelServices.cs
- Guid.cs
- TypeForwardedToAttribute.cs
- TimeBoundedCache.cs
- ObjectNavigationPropertyMapping.cs
- ConfigurationLoaderException.cs
- BitmapPalette.cs
- DecimalAnimationBase.cs
- PropertyToken.cs
- IriParsingElement.cs
- DrawingServices.cs
- SpotLight.cs
- ConfigXmlWhitespace.cs
- XmlNamespaceMapping.cs
- PageAsyncTaskManager.cs
- TrackBarRenderer.cs
- PersistenceProviderDirectory.cs
- StateBag.cs
- SwitchAttribute.cs
- CommonDialog.cs
- OdbcStatementHandle.cs
- DataColumnCollection.cs
- EdmFunctionAttribute.cs
- RemotingHelper.cs
- ActivityExecutorDelegateInfo.cs
- CRYPTPROTECT_PROMPTSTRUCT.cs
- DefaultTraceListener.cs
- DataListComponentEditor.cs
- XmlnsDictionary.cs
- BrowserCapabilitiesFactoryBase.cs
- XmlFormatExtensionPointAttribute.cs
- MSAAWinEventWrap.cs
- StringBuilder.cs
- DataConnectionHelper.cs
- Certificate.cs
- _ConnectStream.cs
- GenericParameterDataContract.cs
- Win32PrintDialog.cs
- EDesignUtil.cs
- IndentedTextWriter.cs
- AspNetSynchronizationContext.cs
- SystemDiagnosticsSection.cs
- ToolStripContainerActionList.cs
- CommandBindingCollection.cs
- SoapIncludeAttribute.cs
- ParameterCollectionEditor.cs
- UIInitializationException.cs
- XPathDescendantIterator.cs
- HandleCollector.cs
- DataDesignUtil.cs
- OrderedDictionary.cs
- XmlSchemaImporter.cs
- ProfessionalColorTable.cs