예제 #1
0
 protected void DeepCloneInternal(DataAggregateInfo clone, InitializationContext context)
 {
     clone.m_name          = context.GenerateAggregateID(this.m_name);
     clone.m_aggregateType = this.m_aggregateType;
     if (this.m_expressions != null)
     {
         int num = this.m_expressions.Length;
         clone.m_expressions = new ExpressionInfo[num];
         for (int i = 0; i < num; i++)
         {
             clone.m_expressions[i] = this.m_expressions[i].DeepClone(context);
         }
     }
     Global.Tracer.Assert(null == this.m_duplicateNames);
     clone.m_recursive          = this.m_recursive;
     clone.m_isCopied           = false;
     clone.m_suppressExceptions = true;
     if (this.m_hasScope)
     {
         clone.SetScope(context.EscalateScope(this.m_scope));
     }
 }