Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / Query / InternalTrees / NodeCounter.cs / 1305376 / NodeCounter.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //--------------------------------------------------------------------- using System; using System.Collections.Generic; using System.Globalization; using System.Diagnostics; using System.Data.Common; using md=System.Data.Metadata.Edm; namespace System.Data.Query.InternalTrees { ////// Counts the number of nodes in a tree /// internal class NodeCounter : BasicOpVisitorOfT{ /// /// Public entry point - Calculates the nubmer of nodes in the given subTree /// /// ///internal static int Count(Node subTree) { NodeCounter counter = new NodeCounter(); return counter.VisitNode(subTree); } /// /// Common processing for all node types /// Count = 1 (self) + count of children /// /// ///protected override int VisitDefault(Node n) { int count = 1; foreach (Node child in n.Children) { count += VisitNode(child); } return count; } } } // 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
- SqlReferenceCollection.cs
- DBConnection.cs
- SqlFacetAttribute.cs
- CharacterHit.cs
- XmlCharType.cs
- VisualProxy.cs
- ListSortDescriptionCollection.cs
- ResourceContainerWrapper.cs
- Properties.cs
- DoubleAnimationUsingPath.cs
- Attributes.cs
- DescendantQuery.cs
- LogicalExpr.cs
- ConstraintManager.cs
- CommentGlyph.cs
- TextEmbeddedObject.cs
- DynamicPropertyHolder.cs
- FixedSOMTableRow.cs
- DocobjHost.cs
- ToolStripProgressBar.cs
- StringConverter.cs
- GridPattern.cs
- DbgUtil.cs
- WebControlAdapter.cs
- cookiecontainer.cs
- EdmToObjectNamespaceMap.cs
- XmlTypeAttribute.cs
- TimeStampChecker.cs
- PipelineModuleStepContainer.cs
- AspProxy.cs
- ProfilePropertySettingsCollection.cs
- Classification.cs
- XPathException.cs
- XmlReflectionMember.cs
- DbException.cs
- PerformanceCounterCategory.cs
- LayoutUtils.cs
- CollectionViewGroup.cs
- TextAnchor.cs
- Activity.cs
- ButtonBase.cs
- Directory.cs
- PropertyValueUIItem.cs
- TypographyProperties.cs
- AdornerLayer.cs
- SlipBehavior.cs
- RangeBaseAutomationPeer.cs
- LinqDataSourceStatusEventArgs.cs
- DerivedKeySecurityTokenStub.cs
- ParallelActivityDesigner.cs
- DefaultTextStore.cs
- Section.cs
- GenericRootAutomationPeer.cs
- NameValuePair.cs
- BuilderInfo.cs
- Vector3DCollection.cs
- AssertFilter.cs
- CodeRegionDirective.cs
- AttributeData.cs
- SymbolEqualComparer.cs
- DataControlLinkButton.cs
- EventLogEntry.cs
- MgmtConfigurationRecord.cs
- FixedDocumentPaginator.cs
- BreakRecordTable.cs
- FileAuthorizationModule.cs
- VirtualPath.cs
- Size3D.cs
- SqlNamer.cs
- TableCellCollection.cs
- TreeNodeBinding.cs
- EmbeddedMailObjectsCollection.cs
- InstanceCreationEditor.cs
- UncommonField.cs
- XmlSchemaObject.cs
- ReferencedAssembly.cs
- BitmapDecoder.cs
- CmsUtils.cs
- ResumeStoryboard.cs
- Camera.cs
- HandleCollector.cs
- OleDbPermission.cs
- DataViewSettingCollection.cs
- ListBoxAutomationPeer.cs
- TableRow.cs
- TriggerBase.cs
- UnknownWrapper.cs
- SQLCharsStorage.cs
- RSAProtectedConfigurationProvider.cs
- xamlnodes.cs
- OleDbFactory.cs
- FontFamily.cs
- LineGeometry.cs
- ReaderWriterLockWrapper.cs
- EntityDataSourceContextDisposingEventArgs.cs
- ExpressionLink.cs
- XmlQualifiedNameTest.cs
- TimeManager.cs
- PeerToPeerException.cs
- SymmetricCryptoHandle.cs