using System; using System.Collections.Generic; using System.Threading; namespace CPF.ReoGrid.Formula { public class FormulaExtension { static FormulaExtension() { try { FormulaExtension.ParameterSeparator = Thread.CurrentThread.CurrentCulture.TextInfo.ListSeparator; FormulaExtension.NumberDecimalSeparator = Thread.CurrentThread.CurrentCulture.NumberFormat.NumberDecimalSeparator; } catch { } } public static Dictionary> CustomFunctions { get { bool flag = FormulaExtension.customFunctions == null; if (flag) { FormulaExtension.customFunctions = new Dictionary>(); } return FormulaExtension.customFunctions; } } public static Func NameReferenceProvider { get; set; } public static Func EmptyCellReferenceProvider { get; set; } public static void ChangeToStandardFunctionNames() { bool flag = FormulaExtension.standardFunctionNameProvider == null; if (flag) { FormulaExtension.standardFunctionNameProvider = new StandardFunctionNameProvider(); } Evaluator.functionNameProvider = FormulaExtension.standardFunctionNameProvider; } public static void ChangeToRussianFunctionNames() { bool flag = FormulaExtension.russianFunctionNameProvider == null; if (flag) { FormulaExtension.russianFunctionNameProvider = new RussianFunctionNameProvider(); } Evaluator.functionNameProvider = FormulaExtension.russianFunctionNameProvider; } public static string ParameterSeparator = ","; public static string NumberDecimalSeparator = "."; internal static Dictionary> customFunctions; private static StandardFunctionNameProvider standardFunctionNameProvider = null; private static RussianFunctionNameProvider russianFunctionNameProvider = null; } }