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?
///
/// [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
- RecognizedWordUnit.cs
- XmlElementList.cs
- SettingsPropertyValue.cs
- WebPartConnectionsConnectVerb.cs
- FormatterServices.cs
- FileDialog_Vista_Interop.cs
- NamedObject.cs
- UserInitiatedNavigationPermission.cs
- ImportCatalogPart.cs
- DataBoundControlAdapter.cs
- PolyLineSegment.cs
- XmlAnyElementAttributes.cs
- WaitForChangedResult.cs
- ProxyGenerator.cs
- SizeIndependentAnimationStorage.cs
- MouseButton.cs
- XPathMessageContext.cs
- WasEndpointConfigContainer.cs
- NodeInfo.cs
- BorderGapMaskConverter.cs
- XmlQualifiedNameTest.cs
- SortableBindingList.cs
- HtmlLink.cs
- ExtendedProtectionPolicyTypeConverter.cs
- SecureStringHasher.cs
- SetStoryboardSpeedRatio.cs
- NavigationFailedEventArgs.cs
- ColumnResult.cs
- OracleTimeSpan.cs
- FastEncoderWindow.cs
- CompatibleIComparer.cs
- FilterFactory.cs
- SecurityException.cs
- TagPrefixCollection.cs
- SortAction.cs
- SiteMapNodeCollection.cs
- FileSystemEventArgs.cs
- Slider.cs
- SafeTimerHandle.cs
- Triangle.cs
- Filter.cs
- GuidelineCollection.cs
- __Filters.cs
- IntegerValidatorAttribute.cs
- RelationshipType.cs
- RegexTree.cs
- BooleanAnimationBase.cs
- InProcStateClientManager.cs
- XmlParser.cs
- EventEntry.cs
- InkCanvasSelectionAdorner.cs
- FilteredXmlReader.cs
- QuaternionRotation3D.cs
- MimeTypePropertyAttribute.cs
- _NegotiateClient.cs
- SymbolType.cs
- DataListCommandEventArgs.cs
- Invariant.cs
- DataGridViewLinkColumn.cs
- XmlIncludeAttribute.cs
- BitmapDownload.cs
- XamlStream.cs
- TdsParserHelperClasses.cs
- KeyValueSerializer.cs
- DataControlButton.cs
- XmlCharType.cs
- TypeNameConverter.cs
- TextSelectionHighlightLayer.cs
- EventWaitHandle.cs
- XmlSerializerSection.cs
- Mappings.cs
- GifBitmapEncoder.cs
- MatrixIndependentAnimationStorage.cs
- ListBoxChrome.cs
- VariableReference.cs
- Converter.cs
- Collection.cs
- ConstructorNeedsTagAttribute.cs
- ContextQuery.cs
- CorruptingExceptionCommon.cs
- QuerySetOp.cs
- AttachedPropertyBrowsableWhenAttributePresentAttribute.cs
- XmlSchemaImport.cs
- DataGridAddNewRow.cs
- UrlParameterWriter.cs
- GridViewDeleteEventArgs.cs
- UnsafeNativeMethods.cs
- WindowsIPAddress.cs
- CodeIdentifier.cs
- HashJoinQueryOperatorEnumerator.cs
- RegularExpressionValidator.cs
- HttpWriter.cs
- Privilege.cs
- XmlValueConverter.cs
- DragEventArgs.cs
- SerialReceived.cs
- JoinGraph.cs
- CompareInfo.cs
- DataGridViewCellEventArgs.cs
- StrokeNodeData.cs