Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / Xml / System / Xml / Dom / XmlChildEnumerator.cs / 1 / 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
- GridViewRowPresenter.cs
- IISMapPath.cs
- TraceUtility.cs
- GenericsInstances.cs
- SamlNameIdentifierClaimResource.cs
- BuildProviderUtils.cs
- SHA1CryptoServiceProvider.cs
- NameValuePair.cs
- OrthographicCamera.cs
- FileAuthorizationModule.cs
- DesignerForm.cs
- LambdaCompiler.Generated.cs
- CompositeScriptReference.cs
- HelpEvent.cs
- WindowsButton.cs
- CriticalHandle.cs
- XamlWriter.cs
- AspCompat.cs
- EastAsianLunisolarCalendar.cs
- ServiceManagerHandle.cs
- Compilation.cs
- MulticastOption.cs
- TextServicesCompartment.cs
- ProxyGenerationError.cs
- ManipulationLogic.cs
- BroadcastEventHelper.cs
- Label.cs
- TextPattern.cs
- DragEvent.cs
- XmlSchemaCollection.cs
- XmlAnyAttributeAttribute.cs
- ShapeTypeface.cs
- SerialPinChanges.cs
- SafeLibraryHandle.cs
- IndexingContentUnit.cs
- SpinWait.cs
- MailDefinition.cs
- CustomAttribute.cs
- WebPartCloseVerb.cs
- figurelength.cs
- MetadataSource.cs
- DbDataSourceEnumerator.cs
- ResourcePermissionBase.cs
- TypeToken.cs
- WebPartZoneCollection.cs
- SoapAttributes.cs
- DeflateStream.cs
- EntityConnectionStringBuilder.cs
- PropertyMetadata.cs
- OrderablePartitioner.cs
- EdmScalarPropertyAttribute.cs
- EntityDataSourceQueryBuilder.cs
- _Connection.cs
- DiscoveryInnerClientAdhocCD1.cs
- SaveRecipientRequest.cs
- PolicyException.cs
- ActivityUtilities.cs
- CodeTypeMember.cs
- XPathAxisIterator.cs
- __ComObject.cs
- ScriptResourceHandler.cs
- Control.cs
- ClientScriptItem.cs
- EmptyReadOnlyDictionaryInternal.cs
- ModelTreeEnumerator.cs
- COM2IDispatchConverter.cs
- MatrixStack.cs
- CompilerError.cs
- X509UI.cs
- XmlSignificantWhitespace.cs
- XmlSerializerVersionAttribute.cs
- ClickablePoint.cs
- RelatedView.cs
- TypeConverterHelper.cs
- DateTimeValueSerializer.cs
- XmlSerializerFaultFormatter.cs
- SynchronousReceiveElement.cs
- AlphabeticalEnumConverter.cs
- ClientScriptManagerWrapper.cs
- ModelUtilities.cs
- StringFormat.cs
- VarRemapper.cs
- UITypeEditor.cs
- ContentPlaceHolder.cs
- Errors.cs
- SocketStream.cs
- InternalEnumValidatorAttribute.cs
- CellPartitioner.cs
- UIPermission.cs
- GridSplitterAutomationPeer.cs
- WindowsSecurityToken.cs
- VoiceObjectToken.cs
- ListViewInsertionMark.cs
- ExtendedProperty.cs
- XmlTextReaderImplHelpers.cs
- TextTreeInsertUndoUnit.cs
- Vector3DAnimationBase.cs
- ScopeElementCollection.cs
- BookmarkList.cs
- FacetEnabledSchemaElement.cs