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
- CqlLexer.cs
- LocalizationParserHooks.cs
- ReturnEventArgs.cs
- TreeNodeBinding.cs
- SystemIPGlobalStatistics.cs
- ColumnTypeConverter.cs
- DataGridPagerStyle.cs
- PersianCalendar.cs
- ControlIdConverter.cs
- WindowsFormsHost.cs
- XmlSchemaProviderAttribute.cs
- HMACSHA384.cs
- DataSourceProvider.cs
- ErrorHandler.cs
- LookupNode.cs
- PageClientProxyGenerator.cs
- HttpCacheParams.cs
- PenContext.cs
- ComplexTypeEmitter.cs
- RowVisual.cs
- ObjectSpanRewriter.cs
- TypedReference.cs
- DesignerCategoryAttribute.cs
- Enum.cs
- PopupControlService.cs
- BindableAttribute.cs
- _LocalDataStoreMgr.cs
- SqlAliasesReferenced.cs
- ManagedWndProcTracker.cs
- TextOutput.cs
- MemberJoinTreeNode.cs
- DataListItemEventArgs.cs
- ElementMarkupObject.cs
- ObjectListDesigner.cs
- ExtendedPropertyDescriptor.cs
- TrackingMemoryStreamFactory.cs
- DictionaryEditChange.cs
- EncryptRequest.cs
- ApplicationDirectoryMembershipCondition.cs
- Accessible.cs
- DataRelationCollection.cs
- FormView.cs
- QilStrConcat.cs
- BulletChrome.cs
- MessageDispatch.cs
- TransformGroup.cs
- CroppedBitmap.cs
- Rect3DValueSerializer.cs
- StaticSiteMapProvider.cs
- ParsedAttributeCollection.cs
- ListGeneralPage.cs
- ErrorRuntimeConfig.cs
- StyleHelper.cs
- ZoneMembershipCondition.cs
- ModelTreeEnumerator.cs
- ActivityInstance.cs
- SqlLiftIndependentRowExpressions.cs
- HasCopySemanticsAttribute.cs
- SByteStorage.cs
- ScriptReferenceEventArgs.cs
- ExpandedWrapper.cs
- ConfigErrorGlyph.cs
- documentsequencetextcontainer.cs
- EdmPropertyAttribute.cs
- ValueCollectionParameterReader.cs
- BrowserDefinition.cs
- VariableModifiersHelper.cs
- ContainerSelectorBehavior.cs
- AssemblyBuilder.cs
- UTF8Encoding.cs
- QilTernary.cs
- AttributeAction.cs
- MergeFailedEvent.cs
- Visual3DCollection.cs
- DataServiceQuery.cs
- SeparatorAutomationPeer.cs
- MailMessageEventArgs.cs
- SortDescriptionCollection.cs
- WebFaultClientMessageInspector.cs
- Main.cs
- DataGridViewAutoSizeModeEventArgs.cs
- ResourceAssociationType.cs
- WmlValidationSummaryAdapter.cs
- IndentedTextWriter.cs
- WindowsImpersonationContext.cs
- WeakReadOnlyCollection.cs
- PkcsUtils.cs
- BaseComponentEditor.cs
- ParsedAttributeCollection.cs
- ImageSourceTypeConverter.cs
- TemplateColumn.cs
- ReflectionHelper.cs
- CollectionViewGroup.cs
- TableLayoutSettingsTypeConverter.cs
- SkinBuilder.cs
- TextEncodedRawTextWriter.cs
- BitmapMetadata.cs
- WinFormsUtils.cs
- QueryExpr.cs
- Token.cs