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
- XamlGridLengthSerializer.cs
- NGCSerializationManager.cs
- MdImport.cs
- WebPartDeleteVerb.cs
- AspNetCacheProfileAttribute.cs
- MultipleViewProviderWrapper.cs
- BitmapCacheBrush.cs
- OracleInternalConnection.cs
- RequestCachePolicy.cs
- ClientProtocol.cs
- Int32Collection.cs
- AppDomainProtocolHandler.cs
- ThumbAutomationPeer.cs
- ApplicationDirectoryMembershipCondition.cs
- ApplicationServicesHostFactory.cs
- HttpResponseHeader.cs
- InfoCardCryptoHelper.cs
- __Filters.cs
- ComplexType.cs
- SystemInfo.cs
- XmlSchemaSimpleContentExtension.cs
- DataGridLengthConverter.cs
- ListViewGroupConverter.cs
- SplineKeyFrames.cs
- IsolatedStorageFileStream.cs
- ToolStripButton.cs
- SelectionProviderWrapper.cs
- Path.cs
- WebPartDescription.cs
- TreeBuilder.cs
- Baml2006SchemaContext.cs
- DataRelation.cs
- Process.cs
- FlowDocumentFormatter.cs
- PluggableProtocol.cs
- WindowsIdentity.cs
- SQLCharsStorage.cs
- metadatamappinghashervisitor.hashsourcebuilder.cs
- DES.cs
- SpinLock.cs
- InvalidPrinterException.cs
- DesignerForm.cs
- ProxyGenerator.cs
- SqlDataSourceCommandEventArgs.cs
- SystemBrushes.cs
- CLRBindingWorker.cs
- login.cs
- CodeDelegateInvokeExpression.cs
- PageThemeBuildProvider.cs
- XmlNamespaceManager.cs
- FileDataSourceCache.cs
- SchemaComplexType.cs
- DetailsViewDeletedEventArgs.cs
- CompModSwitches.cs
- EntityContainerEmitter.cs
- UserControlCodeDomTreeGenerator.cs
- Encoder.cs
- TextTreeTextNode.cs
- ChannelServices.cs
- NativeRightsManagementAPIsStructures.cs
- MbpInfo.cs
- MappingModelBuildProvider.cs
- DetailsViewModeEventArgs.cs
- BStrWrapper.cs
- Attributes.cs
- RecordManager.cs
- StylusPointPropertyUnit.cs
- TableCell.cs
- PersistenceTask.cs
- SynchronizationLockException.cs
- TextRange.cs
- TrackBarRenderer.cs
- PixelFormat.cs
- FileCodeGroup.cs
- GenericWebPart.cs
- MarkupExtensionReturnTypeAttribute.cs
- ExpanderAutomationPeer.cs
- BaseCodeDomTreeGenerator.cs
- Graphics.cs
- OfTypeExpression.cs
- DocumentPageView.cs
- Interlocked.cs
- Timer.cs
- AssemblyUtil.cs
- httpserverutility.cs
- EntityDataSourceContainerNameConverter.cs
- WaitHandleCannotBeOpenedException.cs
- ScriptResourceHandler.cs
- ToolStripItemCollection.cs
- ServiceNameElementCollection.cs
- InProcStateClientManager.cs
- WorkflowService.cs
- HtmlLink.cs
- DetailsViewModeEventArgs.cs
- MetadataCollection.cs
- ProfileGroupSettingsCollection.cs
- AxisAngleRotation3D.cs
- CodeAttributeDeclarationCollection.cs
- storepermissionattribute.cs
- localization.cs