示例#1
0
        /// <summary>
        /// Gets the operator full name with the given parameters grounding.
        /// </summary>
        /// <returns>Full operator name.</returns>
        public string GetName(ISubstitution substitution)
        {
            List <string> parametersList = Parameters.ConvertAll(parameter =>
            {
                int value;
                if (substitution.TryGetValue(parameter.ParameterNameId, out value))
                {
                    // constant name
                    return(IdManager.Constants.GetNameFromId(value));
                }
                else
                {
                    // generic variable name
                    return($"{IdManager.GenericVariablePrefix}{parameter.ParameterNameId.ToString()}");
                }
            });

            return($"{Name}({string.Join(", ", parametersList)})");
        }