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
- EntryWrittenEventArgs.cs
- StructuredTypeInfo.cs
- ReadOnlyDataSource.cs
- PersonalizationStateQuery.cs
- OLEDB_Util.cs
- SourceFilter.cs
- Fonts.cs
- NameTable.cs
- HttpSessionStateBase.cs
- PerspectiveCamera.cs
- TableLayoutStyleCollection.cs
- AssemblyName.cs
- MessageHeader.cs
- PixelFormat.cs
- SrgsText.cs
- TraceHwndHost.cs
- ArrayHelper.cs
- CodeGeneratorAttribute.cs
- WmfPlaceableFileHeader.cs
- AuthorizationRuleCollection.cs
- PropertyTabAttribute.cs
- AmbiguousMatchException.cs
- While.cs
- PersonalizationStateInfo.cs
- CompareValidator.cs
- EntityCommandExecutionException.cs
- LocatorPartList.cs
- IgnoreDeviceFilterElementCollection.cs
- WebPartCloseVerb.cs
- Brush.cs
- Slider.cs
- GridToolTip.cs
- TypeValidationEventArgs.cs
- MultipartIdentifier.cs
- DictionaryEntry.cs
- DataGridViewDesigner.cs
- KeyValueConfigurationElement.cs
- TraceContextRecord.cs
- CertificateManager.cs
- DesignerHost.cs
- Expression.cs
- JsonFormatGeneratorStatics.cs
- TraceRecord.cs
- KernelTypeValidation.cs
- EntityDesignerDataSourceView.cs
- RuntimeConfig.cs
- GotoExpression.cs
- CapabilitiesUse.cs
- Enlistment.cs
- MarkedHighlightComponent.cs
- HostAdapter.cs
- GridEntryCollection.cs
- ByteStream.cs
- AdRotatorDesigner.cs
- MdImport.cs
- SessionMode.cs
- ConfigurationStrings.cs
- ByeOperationCD1AsyncResult.cs
- TypeExtensionSerializer.cs
- CoTaskMemUnicodeSafeHandle.cs
- GradientStop.cs
- CaseInsensitiveHashCodeProvider.cs
- DetailsView.cs
- BaseUriHelper.cs
- CodeBlockBuilder.cs
- MatrixAnimationUsingKeyFrames.cs
- TableCell.cs
- XPathNavigator.cs
- ObjectNotFoundException.cs
- TypeHelper.cs
- Material.cs
- _ContextAwareResult.cs
- RsaKeyIdentifierClause.cs
- WebSysDescriptionAttribute.cs
- XmlNullResolver.cs
- TextBreakpoint.cs
- LightweightCodeGenerator.cs
- SelectionEditingBehavior.cs
- CachedPathData.cs
- SQLInt32.cs
- InstanceNameConverter.cs
- FontDifferentiator.cs
- _LazyAsyncResult.cs
- PersistenceTypeAttribute.cs
- RegexCharClass.cs
- KeyValuePairs.cs
- NewExpression.cs
- XamlGridLengthSerializer.cs
- AppDomainManager.cs
- ImpersonateTokenRef.cs
- WebEvents.cs
- TextContainerChangedEventArgs.cs
- RNGCryptoServiceProvider.cs
- StdValidatorsAndConverters.cs
- Converter.cs
- ExeConfigurationFileMap.cs
- TimeSpanConverter.cs
- MappingModelBuildProvider.cs
- DriveNotFoundException.cs
- IPHostEntry.cs