예제 #1
0
 public void CreateInstances(CreateInstancesTraversalContext traversalContext)
 {
     if (this.m_grouping != null)
     {
         this.m_grouping.Traverse(ProcessingStages.CreateGroupTree, this.m_expression == null || this.m_expression.Direction, traversalContext);
     }
     if (this.m_hierarchyObjs != null)
     {
         bool flag = true;
         for (int i = 0; i < this.m_hierarchyObjs.Count; i++)
         {
             IReference <RuntimeHierarchyObj> reference = this.m_hierarchyObjs[i];
             using (reference.PinValue())
             {
                 RuntimeHierarchyObj runtimeHierarchyObj = reference.Value();
                 if (!flag || runtimeHierarchyObj is RuntimeGroupLeafObj)
                 {
                     ((RuntimeGroupLeafObj)runtimeHierarchyObj).TraverseAllLeafNodes(ProcessingStages.CreateGroupTree, traversalContext);
                     flag = false;
                 }
                 else
                 {
                     ((RuntimeDetailObj)runtimeHierarchyObj).CreateInstance(traversalContext);
                 }
             }
         }
     }
 }
예제 #2
0
 public virtual void CreateInstance(CreateInstancesTraversalContext traversalContext)
 {
     Global.Tracer.Assert(false);
 }