/// <summary> /// Clona el identificador de variable /// </summary> public override ExpressionBase Clone() { ExpressionVariableIdentifier variable = new ExpressionVariableIdentifier(Name); // Clona las expresiones variable.IndexExpressions = IndexExpressions.Clone(); variable.IndexExpressionsRPN = IndexExpressionsRPN.Clone(); if (Member != null) { variable.Member = Member.Clone() as ExpressionVariableIdentifier; } // Devuelve el objeto clonado return(variable); }
/// <summary> /// Obtiene la información de depuración /// </summary> public override string GetDebugInfo() { string debug = Name; // Añade el índice if (IndexExpressions?.Count > 0) { debug += "[" + IndexExpressions.GetDebugInfo() + "]"; } // Añade el índice en formato RPN if (IndexExpressionsRPN?.Count > 0) { debug += " (RPN: " + IndexExpressionsRPN.GetDebugInfo() + ")"; } // Añade el miembro if (Member != null) { debug += "->" + Member.GetDebugInfo(); } // Devuelve la información de depuración return(debug); }