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
- InteropBitmapSource.cs
- StoryFragments.cs
- DSASignatureDeformatter.cs
- RtfToXamlReader.cs
- infer.cs
- ApplicationDirectoryMembershipCondition.cs
- SQLRoleProvider.cs
- StrongNameMembershipCondition.cs
- OleDbWrapper.cs
- LayoutEngine.cs
- ObjectDisposedException.cs
- FontSource.cs
- NativeMethods.cs
- DefaultAssemblyResolver.cs
- StackSpiller.cs
- AQNBuilder.cs
- BuildProviderCollection.cs
- BCryptHashAlgorithm.cs
- UseLicense.cs
- HttpProfileBase.cs
- DynamicMethod.cs
- WindowsRegion.cs
- QueryContinueDragEvent.cs
- Frame.cs
- VirtualizedItemPattern.cs
- SqlCaseSimplifier.cs
- TableItemStyle.cs
- SoapSchemaImporter.cs
- WrapPanel.cs
- SequenceDesigner.xaml.cs
- Win32SafeHandles.cs
- SchemaElementLookUpTable.cs
- CustomErrorCollection.cs
- HostSecurityManager.cs
- HttpCachePolicyWrapper.cs
- ObjectDataSourceView.cs
- UTF32Encoding.cs
- _ListenerRequestStream.cs
- TypeExtensions.cs
- StrokeNodeData.cs
- BorderSidesEditor.cs
- DiscoveryDocumentLinksPattern.cs
- TextParagraph.cs
- XmlDataImplementation.cs
- EntityClientCacheKey.cs
- Focus.cs
- FolderBrowserDialogDesigner.cs
- WindowsButton.cs
- ShadowGlyph.cs
- SinglePhaseEnlistment.cs
- EpmSourcePathSegment.cs
- WebPartEditVerb.cs
- MsmqMessageSerializationFormat.cs
- XmlSignatureProperties.cs
- NumericUpDownAcceleration.cs
- ThreadStaticAttribute.cs
- SqlCacheDependencySection.cs
- DbConnectionOptions.cs
- FreezableCollection.cs
- ReadWriteSpinLock.cs
- GridItemProviderWrapper.cs
- DataServiceRequest.cs
- GeometryDrawing.cs
- ProcessInfo.cs
- InstancePersistenceEvent.cs
- RegionData.cs
- TextRange.cs
- ToolstripProfessionalRenderer.cs
- DocumentsTrace.cs
- DoubleLinkList.cs
- IsolatedStorageFilePermission.cs
- SplitterCancelEvent.cs
- SspiWrapper.cs
- RNGCryptoServiceProvider.cs
- ScriptControl.cs
- StringPropertyBuilder.cs
- Binding.cs
- StylusPoint.cs
- ViewEventArgs.cs
- WindowsImpersonationContext.cs
- Query.cs
- XmlCharacterData.cs
- State.cs
- RepeatButtonAutomationPeer.cs
- _NTAuthentication.cs
- IntPtr.cs
- TcpSocketManager.cs
- QueueProcessor.cs
- ReadOnlyCollectionBuilder.cs
- StaticResourceExtension.cs
- WebPartConnectionsCloseVerb.cs
- PersistNameAttribute.cs
- EditingCommands.cs
- RelationshipFixer.cs
- ProgressBarRenderer.cs
- XmlSortKey.cs
- CorrelationRequestContext.cs
- WebPartMinimizeVerb.cs
- AppDomainProtocolHandler.cs
- WindowsScrollBarBits.cs