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
- UmAlQuraCalendar.cs
- TypeSystemProvider.cs
- ReflectionServiceProvider.cs
- Label.cs
- ConfigurationLocationCollection.cs
- PeerName.cs
- BufferedStream.cs
- NotifyIcon.cs
- PeerNameResolver.cs
- XmlAttributeOverrides.cs
- SqlCharStream.cs
- EntryIndex.cs
- DiagnosticsConfigurationHandler.cs
- BaseTemplateCodeDomTreeGenerator.cs
- RouteParameter.cs
- LOSFormatter.cs
- StoragePropertyMapping.cs
- ByteArrayHelperWithString.cs
- DataControlFieldsEditor.cs
- Geometry3D.cs
- BindValidationContext.cs
- WindowManager.cs
- NameScopePropertyAttribute.cs
- DynamicRenderer.cs
- FocusTracker.cs
- SwitchElementsCollection.cs
- ToolStripSystemRenderer.cs
- InteropBitmapSource.cs
- SqlCaseSimplifier.cs
- Container.cs
- ObjectParameter.cs
- Scripts.cs
- TextEditorTyping.cs
- TemplateInstanceAttribute.cs
- Path.cs
- GetIsBrowserClientRequest.cs
- Sql8ConformanceChecker.cs
- DesignerActionVerbItem.cs
- DataTrigger.cs
- URLIdentityPermission.cs
- EdmProviderManifest.cs
- SecurityKeyEntropyMode.cs
- SplineKeyFrames.cs
- RepeaterDataBoundAdapter.cs
- Floater.cs
- FragmentQueryKB.cs
- AdapterUtil.cs
- RijndaelManaged.cs
- StatusBarPanel.cs
- VectorAnimationUsingKeyFrames.cs
- UnionCqlBlock.cs
- NumberFunctions.cs
- PointF.cs
- LayoutDump.cs
- ObjectHandle.cs
- WebPartCollection.cs
- Pair.cs
- ManipulationVelocities.cs
- XmlDigitalSignatureProcessor.cs
- WebScriptMetadataMessage.cs
- ResourcePermissionBase.cs
- ContentElementCollection.cs
- VirtualDirectoryMappingCollection.cs
- CatalogZoneBase.cs
- CodeObject.cs
- BinaryFormatterWriter.cs
- SpanIndex.cs
- EntryIndex.cs
- WaitHandleCannotBeOpenedException.cs
- ControlBuilderAttribute.cs
- TypeListConverter.cs
- FormsIdentity.cs
- TabItemAutomationPeer.cs
- NamespaceImport.cs
- CalendarTable.cs
- HelpExampleGenerator.cs
- CodeExpressionStatement.cs
- EdmComplexTypeAttribute.cs
- TabPanel.cs
- ProviderException.cs
- PointHitTestParameters.cs
- Reference.cs
- FillBehavior.cs
- _ConnectOverlappedAsyncResult.cs
- FrameworkContextData.cs
- NameObjectCollectionBase.cs
- Color.cs
- MarkerProperties.cs
- PropertyToken.cs
- DictionaryEntry.cs
- MsmqBindingFilter.cs
- CoreSwitches.cs
- DesignTimeVisibleAttribute.cs
- ViewBox.cs
- MessagingDescriptionAttribute.cs
- ScalarRestriction.cs
- EdmType.cs
- TreeNodeStyleCollectionEditor.cs
- MetaModel.cs
- SelectedDatesCollection.cs