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
- HttpVersion.cs
- HttpAsyncResult.cs
- FontUnit.cs
- ChangeInterceptorAttribute.cs
- BoundPropertyEntry.cs
- BasicViewGenerator.cs
- ItemCollection.cs
- ContentFilePart.cs
- EnumValAlphaComparer.cs
- TemplatePropertyEntry.cs
- TextEditorTyping.cs
- SqlInternalConnectionSmi.cs
- EventSchemaTraceListener.cs
- CacheVirtualItemsEvent.cs
- DataRow.cs
- DataGridViewCellToolTipTextNeededEventArgs.cs
- Array.cs
- FontUnit.cs
- StatusBarDrawItemEvent.cs
- EntityDataSourceContainerNameItem.cs
- DecimalAnimation.cs
- BasicBrowserDialog.cs
- ThreadStaticAttribute.cs
- HMACSHA512.cs
- FixedDocument.cs
- TraceSection.cs
- AuthenticationException.cs
- ConfigXmlAttribute.cs
- ImageConverter.cs
- WinFormsSpinner.cs
- WindowsEditBoxRange.cs
- GacUtil.cs
- FormsAuthenticationTicket.cs
- LoginCancelEventArgs.cs
- ConfigurationFileMap.cs
- CodeAssignStatement.cs
- SchemaSetCompiler.cs
- ContentValidator.cs
- DataGridViewCheckBoxCell.cs
- UrlMappingsSection.cs
- RuleInfoComparer.cs
- TextTreeTextNode.cs
- DataObjectPastingEventArgs.cs
- EntityDataSourceQueryBuilder.cs
- ping.cs
- InputScope.cs
- HtmlAnchor.cs
- DataGridItemEventArgs.cs
- PtsContext.cs
- SafeNativeMethods.cs
- PixelShader.cs
- ReachDocumentReferenceSerializerAsync.cs
- PrinterUnitConvert.cs
- TextDecoration.cs
- ColorDialog.cs
- XPathAncestorIterator.cs
- TargetException.cs
- TimeStampChecker.cs
- SystemUdpStatistics.cs
- UnsignedPublishLicense.cs
- UpdatePanelControlTrigger.cs
- ObjectHandle.cs
- InvalidWMPVersionException.cs
- ServiceDiscoveryBehavior.cs
- MergeFailedEvent.cs
- UnsafeNativeMethods.cs
- _StreamFramer.cs
- MetadataCache.cs
- EditorAttributeInfo.cs
- HMACSHA512.cs
- MethodBody.cs
- CapiNative.cs
- AssemblyAttributes.cs
- AssemblyAssociatedContentFileAttribute.cs
- EventLogPermissionEntry.cs
- DiagnosticStrings.cs
- ChannelSinkStacks.cs
- FormattedTextSymbols.cs
- _SecureChannel.cs
- CaseStatement.cs
- Descriptor.cs
- SoapRpcServiceAttribute.cs
- ListDictionary.cs
- PagesChangedEventArgs.cs
- SecurityProtocol.cs
- Attachment.cs
- DoubleUtil.cs
- TdsParserHelperClasses.cs
- XmlSiteMapProvider.cs
- OperatingSystem.cs
- DataContract.cs
- SqlConnectionPoolProviderInfo.cs
- CompilationLock.cs
- UnknownBitmapEncoder.cs
- _NetRes.cs
- ServiceHttpHandlerFactory.cs
- CodeDefaultValueExpression.cs
- ComponentSerializationService.cs
- ISCIIEncoding.cs
- Schema.cs