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
- StringFunctions.cs
- StylusPointProperty.cs
- StateDesigner.TransitionInfo.cs
- ChildTable.cs
- WindowsTitleBar.cs
- DecoderNLS.cs
- WindowInteropHelper.cs
- EncryptedType.cs
- HostingEnvironmentSection.cs
- IPAddressCollection.cs
- _NegoStream.cs
- GeometryHitTestResult.cs
- TreeViewDesigner.cs
- BrushMappingModeValidation.cs
- RealProxy.cs
- FileDialogPermission.cs
- DPTypeDescriptorContext.cs
- WinEventWrap.cs
- AnnotationHelper.cs
- TypeDescriptor.cs
- remotingproxy.cs
- DbQueryCommandTree.cs
- metadatamappinghashervisitor.cs
- ZoneLinkButton.cs
- StringStorage.cs
- UntypedNullExpression.cs
- PublisherIdentityPermission.cs
- ToolStripPanel.cs
- ReachFixedDocumentSerializerAsync.cs
- RowUpdatingEventArgs.cs
- ComponentResourceKey.cs
- XmlRawWriter.cs
- TabControl.cs
- IncomingWebRequestContext.cs
- HttpStaticObjectsCollectionBase.cs
- CodePropertyReferenceExpression.cs
- BoolExpressionVisitors.cs
- DateTimeAutomationPeer.cs
- _RequestCacheProtocol.cs
- HttpRuntimeSection.cs
- SslStream.cs
- DragDrop.cs
- CompositeFontParser.cs
- ExpressionVisitorHelpers.cs
- CredentialCache.cs
- XmlAttributeOverrides.cs
- Claim.cs
- Clipboard.cs
- ScrollContentPresenter.cs
- NavigationProgressEventArgs.cs
- DebugController.cs
- UdpConstants.cs
- EllipseGeometry.cs
- PropertyDescriptorComparer.cs
- Base64Stream.cs
- XmlSchemaInfo.cs
- DelegatingConfigHost.cs
- SmtpLoginAuthenticationModule.cs
- WorkflowElementDialog.cs
- UIPropertyMetadata.cs
- XmlNodeChangedEventManager.cs
- TypedReference.cs
- WebPartConnectionsCancelVerb.cs
- InstanceKeyCompleteException.cs
- ReturnValue.cs
- PseudoWebRequest.cs
- CodeDomSerializer.cs
- FileNameEditor.cs
- CacheMode.cs
- TypeDelegator.cs
- WindowExtensionMethods.cs
- SizeChangedEventArgs.cs
- ThousandthOfEmRealDoubles.cs
- VectorCollection.cs
- SqlDataSourceAdvancedOptionsForm.cs
- Visitors.cs
- PackageRelationshipCollection.cs
- UdpSocketReceiveManager.cs
- ResourceReferenceKeyNotFoundException.cs
- XmlChildNodes.cs
- MarkupCompiler.cs
- UserControlDocumentDesigner.cs
- Vector3DCollectionConverter.cs
- NameValueFileSectionHandler.cs
- HwndProxyElementProvider.cs
- SimpleBitVector32.cs
- DbDataRecord.cs
- ReadOnlyCollectionBase.cs
- DataSourceNameHandler.cs
- CachedTypeface.cs
- ProtocolsSection.cs
- ConfigurationStrings.cs
- regiisutil.cs
- TextServicesLoader.cs
- EnumerableCollectionView.cs
- MessageProtectionOrder.cs
- _PooledStream.cs
- SharedUtils.cs
- EditingMode.cs
- TreeViewCancelEvent.cs