public FormulaCellParam(FormulaCellParam cellParam) { this.Name = cellParam.Name; this.Cell = cellParam.Cell; this.EnumerateType = cellParam.EnumerateType; this.Type = cellParam.Type; }
private IDictionary<string, FormulaCellParam> GetCellParams(XElement formulaElement, IDictionary<string, FormulaCellParam> templateCellParams, XNamespace ns) { var cellParams = new Dictionary<string, FormulaCellParam>(); if (templateCellParams != null && templateCellParams.Keys.Count > 0) { foreach (var key in templateCellParams.Keys) { cellParams.Add(key, new FormulaCellParam(templateCellParams[key])); } } var formulaParamsElement = formulaElement.GetChild("Params", ns); if (formulaParamsElement != null) { Func<XElement, bool> filterExp = (e => { return e.GetEnumValue<FormulaParamType>("Type") == FormulaParamType.Cell; }); var cellParamElements = formulaParamsElement.GetDescendants("Param", ns, filterExp); foreach (var paramElement in cellParamElements) { var cellParam = new FormulaCellParam() { Name = paramElement.GetStringValue("Name"), Type = FormulaParamType.Cell, Cell = paramElement.GetStringValue("Cell"), EnumerateType = paramElement.GetEnumValue<EnumerateType>("EnumerateType", EnumerateType.None) }; if (!cellParams.ContainsKey(cellParam.Name)) { cellParams.Add(cellParam.Name, cellParam); } else { cellParams[cellParam.Name] = cellParam; } } } return cellParams; }