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
- AnnotationService.cs
- ServicesUtilities.cs
- MultiTouchSystemGestureLogic.cs
- WorkflowItemsPresenter.cs
- DataGridViewCell.cs
- SafeEventLogWriteHandle.cs
- TargetPerspective.cs
- RouteUrlExpressionBuilder.cs
- EdmSchemaError.cs
- SchemaTypeEmitter.cs
- AutomationElementCollection.cs
- SynchronizationHandlesCodeDomSerializer.cs
- TextHidden.cs
- Decorator.cs
- SerializationException.cs
- WindowsTab.cs
- CollectionsUtil.cs
- WebPartCatalogCloseVerb.cs
- SiteMap.cs
- SortExpressionBuilder.cs
- XmlSchemaImport.cs
- RSAOAEPKeyExchangeFormatter.cs
- CompatibleComparer.cs
- CellIdBoolean.cs
- AssemblyBuilderData.cs
- GroupBoxAutomationPeer.cs
- TextShapeableCharacters.cs
- InitializerFacet.cs
- QueueSurrogate.cs
- SmiXetterAccessMap.cs
- DbMetaDataFactory.cs
- Membership.cs
- DefaultMemberAttribute.cs
- ScrollChangedEventArgs.cs
- TextPenaltyModule.cs
- TextTrailingWordEllipsis.cs
- AssemblyHash.cs
- QuadraticBezierSegment.cs
- AssemblySettingAttributes.cs
- TraceRecords.cs
- SchemaTableOptionalColumn.cs
- TableHeaderCell.cs
- HtmlGenericControl.cs
- HttpWebResponse.cs
- KoreanLunisolarCalendar.cs
- Timer.cs
- AppLevelCompilationSectionCache.cs
- DesignerSerializationVisibilityAttribute.cs
- EqualityComparer.cs
- NominalTypeEliminator.cs
- NumericPagerField.cs
- ResXResourceReader.cs
- HtmlListAdapter.cs
- DSASignatureFormatter.cs
- BaseHashHelper.cs
- PartialCachingAttribute.cs
- Executor.cs
- BinaryWriter.cs
- StylusPlugin.cs
- WebServiceReceiveDesigner.cs
- EventHandlerService.cs
- DynamicActionMessageFilter.cs
- DefaultObjectMappingItemCollection.cs
- EncodingInfo.cs
- WorkflowExecutor.cs
- WorkflowLayouts.cs
- FlowDocumentPage.cs
- Mouse.cs
- _Rfc2616CacheValidators.cs
- MimeTypeAttribute.cs
- CryptographicAttribute.cs
- DefaultWorkflowLoaderService.cs
- TableAdapterManagerHelper.cs
- X509CertificateRecipientServiceCredential.cs
- InvalidPrinterException.cs
- DataControlExtensions.cs
- ApplicationActivator.cs
- SendKeys.cs
- FontFamily.cs
- QuadraticBezierSegment.cs
- MsmqHostedTransportManager.cs
- LicenseProviderAttribute.cs
- BitFlagsGenerator.cs
- ProviderSettings.cs
- figurelength.cs
- ProjectionPlanCompiler.cs
- XmlBinaryWriterSession.cs
- RepeaterItem.cs
- XmlNodeReader.cs
- InputReferenceExpression.cs
- DataGridViewComboBoxCell.cs
- SafeViewOfFileHandle.cs
- ObjectQueryProvider.cs
- HttpCookieCollection.cs
- AsyncCompletedEventArgs.cs
- GifBitmapEncoder.cs
- SessionPageStatePersister.cs
- Emitter.cs
- MediaSystem.cs
- EntityStoreSchemaFilterEntry.cs