Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Xml / System / Xml / Dom / XmlChildEnumerator.cs / 1305376 / XmlChildEnumerator.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// [....]
//-----------------------------------------------------------------------------
namespace System.Xml {
using System.Collections;
internal sealed class XmlChildEnumerator: IEnumerator {
internal XmlNode container;
internal XmlNode child;
internal bool isFirst;
internal XmlChildEnumerator( XmlNode container ) {
this.container = container;
this.child = container.FirstChild;
this.isFirst = true;
}
bool IEnumerator.MoveNext() {
return this.MoveNext();
}
internal bool MoveNext() {
if (isFirst) {
child = container.FirstChild;
isFirst = false;
}
else if (child != null) {
child = child.NextSibling;
}
return child != null;
}
void IEnumerator.Reset() {
isFirst = true;
child = container.FirstChild;
}
object IEnumerator.Current {
get {
return this.Current;
}
}
internal XmlNode Current {
get {
if (isFirst || child == null)
throw new InvalidOperationException(Res.GetString(Res.Xml_InvalidOperation));
return child;
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// [....]
//-----------------------------------------------------------------------------
namespace System.Xml {
using System.Collections;
internal sealed class XmlChildEnumerator: IEnumerator {
internal XmlNode container;
internal XmlNode child;
internal bool isFirst;
internal XmlChildEnumerator( XmlNode container ) {
this.container = container;
this.child = container.FirstChild;
this.isFirst = true;
}
bool IEnumerator.MoveNext() {
return this.MoveNext();
}
internal bool MoveNext() {
if (isFirst) {
child = container.FirstChild;
isFirst = false;
}
else if (child != null) {
child = child.NextSibling;
}
return child != null;
}
void IEnumerator.Reset() {
isFirst = true;
child = container.FirstChild;
}
object IEnumerator.Current {
get {
return this.Current;
}
}
internal XmlNode Current {
get {
if (isFirst || child == null)
throw new InvalidOperationException(Res.GetString(Res.Xml_InvalidOperation));
return child;
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- AnimationTimeline.cs
- Part.cs
- CqlErrorHelper.cs
- Triangle.cs
- VectorKeyFrameCollection.cs
- RadioButton.cs
- VirtualPathUtility.cs
- ColorTypeConverter.cs
- WmlTextBoxAdapter.cs
- DataStorage.cs
- control.ime.cs
- PropertyInfo.cs
- ComponentResourceManager.cs
- CodeComment.cs
- XmlValidatingReader.cs
- CdpEqualityComparer.cs
- List.cs
- CompositionCommandSet.cs
- PermissionSetEnumerator.cs
- QueryCacheManager.cs
- IndexOutOfRangeException.cs
- WCFBuildProvider.cs
- EventPrivateKey.cs
- SoapFault.cs
- ClientSideQueueItem.cs
- SafeFileHandle.cs
- FormViewUpdateEventArgs.cs
- Int16.cs
- StylusLogic.cs
- OpenFileDialog.cs
- RadioButtonFlatAdapter.cs
- CodeArgumentReferenceExpression.cs
- SessionIDManager.cs
- DbDataRecord.cs
- CodeAttributeArgument.cs
- CookieProtection.cs
- AppearanceEditorPart.cs
- CultureInfoConverter.cs
- TraceContextRecord.cs
- _LocalDataStoreMgr.cs
- DiscoveryReferences.cs
- HandoffBehavior.cs
- HttpProfileBase.cs
- UnsafeNetInfoNativeMethods.cs
- WpfWebRequestHelper.cs
- XmlName.cs
- HttpProcessUtility.cs
- Trace.cs
- GridViewColumnCollectionChangedEventArgs.cs
- Separator.cs
- FieldNameLookup.cs
- CaseInsensitiveHashCodeProvider.cs
- TextElement.cs
- MTConfigUtil.cs
- BrowserCapabilitiesFactoryBase.cs
- LambdaCompiler.Binary.cs
- GeneralTransform.cs
- RawKeyboardInputReport.cs
- NativeMethodsCLR.cs
- EventLogPermissionEntryCollection.cs
- PropertyChange.cs
- DocumentViewerBaseAutomationPeer.cs
- ExpressionBuilder.cs
- ResourceAttributes.cs
- HandlerFactoryWrapper.cs
- PublisherMembershipCondition.cs
- TraceHandlerErrorFormatter.cs
- TextFormatterContext.cs
- SoapDocumentServiceAttribute.cs
- Monitor.cs
- TrackingProfileDeserializationException.cs
- RuntimeTrackingProfile.cs
- FileDialog_Vista.cs
- UniformGrid.cs
- NodeLabelEditEvent.cs
- DbConnectionInternal.cs
- RoleProviderPrincipal.cs
- FlagsAttribute.cs
- wpf-etw.cs
- PackWebResponse.cs
- DataObjectPastingEventArgs.cs
- SiteOfOriginContainer.cs
- QilXmlReader.cs
- GridLengthConverter.cs
- StylusOverProperty.cs
- ModelFactory.cs
- ComponentDispatcher.cs
- KeyboardDevice.cs
- AssertHelper.cs
- ClientSettingsProvider.cs
- OleDbError.cs
- MouseActionConverter.cs
- DataGridViewTextBoxColumn.cs
- SelectingProviderEventArgs.cs
- GlyphCache.cs
- _HelperAsyncResults.cs
- NegotiationTokenAuthenticatorState.cs
- DesignTimeType.cs
- MainMenu.cs
- FormattedTextSymbols.cs