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
- ServiceNameElement.cs
- _SecureChannel.cs
- TextBoxAutomationPeer.cs
- RootAction.cs
- FixedTextView.cs
- XmlWrappingWriter.cs
- DefaultIfEmptyQueryOperator.cs
- Animatable.cs
- TabPanel.cs
- AppDomainProtocolHandler.cs
- BooleanExpr.cs
- MergeLocalizationDirectives.cs
- AnchoredBlock.cs
- ListBindingConverter.cs
- FactoryRecord.cs
- CultureMapper.cs
- TrackBar.cs
- ListItem.cs
- HtmlShimManager.cs
- RemoveStoryboard.cs
- Compiler.cs
- VectorValueSerializer.cs
- SystemTcpConnection.cs
- InfoCardBinaryReader.cs
- DTCTransactionManager.cs
- CodeExporter.cs
- SQLRoleProvider.cs
- TableLayout.cs
- SelectorItemAutomationPeer.cs
- EntityKey.cs
- NativeRecognizer.cs
- MembershipSection.cs
- HtmlEncodedRawTextWriter.cs
- TimeZoneInfo.cs
- Throw.cs
- XmlSchemaAnnotated.cs
- FormView.cs
- PropertyToken.cs
- EntityDataSourceUtil.cs
- DBDataPermission.cs
- Page.cs
- TextComposition.cs
- Point3DCollection.cs
- QueueProcessor.cs
- XPathNodeInfoAtom.cs
- FilteredDataSetHelper.cs
- NoClickablePointException.cs
- UnsafeNativeMethods.cs
- ResourceReferenceExpressionConverter.cs
- HtmlTableCell.cs
- GridViewCancelEditEventArgs.cs
- ScheduleChanges.cs
- MenuAdapter.cs
- HandlerBase.cs
- WmiPutTraceRecord.cs
- FileSystemWatcher.cs
- ISO2022Encoding.cs
- RoutedEventHandlerInfo.cs
- CommonBehaviorsSection.cs
- SoapObjectInfo.cs
- SiteIdentityPermission.cs
- PolyQuadraticBezierSegmentFigureLogic.cs
- SafeRightsManagementHandle.cs
- WebBrowserPermission.cs
- RuntimeArgumentHandle.cs
- SoapClientProtocol.cs
- InvalidWMPVersionException.cs
- ListViewGroup.cs
- DataContractAttribute.cs
- ReflectionServiceProvider.cs
- XmlWellformedWriter.cs
- WebRequestModulesSection.cs
- ArgumentReference.cs
- DrawingGroupDrawingContext.cs
- ResourceKey.cs
- ModulesEntry.cs
- Attributes.cs
- XmlSchemaSequence.cs
- WindowsPrincipal.cs
- MaskInputRejectedEventArgs.cs
- InternalBase.cs
- BulletedListEventArgs.cs
- StylusPointPropertyId.cs
- SimpleFieldTemplateFactory.cs
- ParamArrayAttribute.cs
- typedescriptorpermissionattribute.cs
- XhtmlCssHandler.cs
- WebPartDisplayModeCancelEventArgs.cs
- JsonFormatWriterGenerator.cs
- ClientScriptManager.cs
- XPathNodePointer.cs
- CollectionViewGroup.cs
- DeferredTextReference.cs
- WebPartConnectionsConnectVerb.cs
- ControlValuePropertyAttribute.cs
- PieceDirectory.cs
- FlowDocumentPageViewerAutomationPeer.cs
- StaticSiteMapProvider.cs
- SqlConnectionHelper.cs
- XmlQualifiedNameTest.cs