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
- BuildManagerHost.cs
- NamespaceQuery.cs
- BrowserDefinitionCollection.cs
- DbConnectionClosed.cs
- MSAAWinEventWrap.cs
- HierarchicalDataBoundControlAdapter.cs
- SafeNativeHandle.cs
- AttachmentCollection.cs
- PassportAuthentication.cs
- SectionRecord.cs
- ComEventsInfo.cs
- SafeNativeMethods.cs
- CompilerInfo.cs
- ClassicBorderDecorator.cs
- HostUtils.cs
- ScrollContentPresenter.cs
- IntranetCredentialPolicy.cs
- PrintingPermissionAttribute.cs
- WebPartConnection.cs
- Win32Interop.cs
- DefaultPrintController.cs
- ClickablePoint.cs
- LambdaValue.cs
- ViewCellSlot.cs
- ResolvedKeyFrameEntry.cs
- DayRenderEvent.cs
- DocumentViewerConstants.cs
- _WebProxyDataBuilder.cs
- WebPartActionVerb.cs
- DbConnectionPoolGroup.cs
- RawKeyboardInputReport.cs
- RecognizerBase.cs
- ExclusiveTcpTransportManager.cs
- MetadataItemCollectionFactory.cs
- DataGridRow.cs
- OdbcPermission.cs
- GridItem.cs
- LayoutTableCell.cs
- MediaContext.cs
- DataGridViewCellStyleConverter.cs
- ApplicationId.cs
- SQLDoubleStorage.cs
- LogReservationCollection.cs
- CompressedStack.cs
- SchemaMapping.cs
- AmbientLight.cs
- DbBuffer.cs
- MergeFailedEvent.cs
- BackStopAuthenticationModule.cs
- XamlSerializerUtil.cs
- GridToolTip.cs
- MulticastDelegate.cs
- WindowsFormsHelpers.cs
- AttributeQuery.cs
- EventArgs.cs
- FusionWrap.cs
- latinshape.cs
- RegexParser.cs
- ResourceContainer.cs
- DataGridParentRows.cs
- BoundConstants.cs
- SqlUdtInfo.cs
- SqlDataSourceView.cs
- QuaternionAnimationUsingKeyFrames.cs
- DrawingImage.cs
- DrawTreeNodeEventArgs.cs
- Token.cs
- WebServiceData.cs
- CodePrimitiveExpression.cs
- ServiceBusyException.cs
- ConfigXmlComment.cs
- FileEnumerator.cs
- HttpDebugHandler.cs
- IssuedSecurityTokenProvider.cs
- KeyboardNavigation.cs
- DockPanel.cs
- FlowPosition.cs
- SqlWriter.cs
- StoreItemCollection.Loader.cs
- DelayedRegex.cs
- ContractListAdapter.cs
- ActivityAction.cs
- ChannelSinkStacks.cs
- ClientScriptItem.cs
- HttpDebugHandler.cs
- RecordConverter.cs
- ColorConverter.cs
- HTTPAPI_VERSION.cs
- PrintPreviewDialog.cs
- SafeEventLogWriteHandle.cs
- TextBoxView.cs
- ObjectNavigationPropertyMapping.cs
- MailHeaderInfo.cs
- SHA256.cs
- AsyncPostBackTrigger.cs
- BinHexDecoder.cs
- XmlBoundElement.cs
- SqlDuplicator.cs
- XamlBuildProvider.cs
- TemplateControl.cs