Esempio n. 1
0
        private UrlFunction ExtractFunction(string url)
        {
            if (string.IsNullOrEmpty(url))
            {
                return(null);
            }

            var regex = new Regex(@"\{#(.*?)#\}");
            var ms    = regex.Matches(url);

            if (ms.Count == 0)
            {
                return(null);
            }

            var result = new UrlFunction();
            var m      = ms[0];

            var d  = m.Value.Trim();
            var mt = Regex.Match(d, @"{#(.*?)\(");

            if (!mt.Success || mt.Groups.Count != 2)
            {
                return(null);
            }

            var fun = mt.Groups[1].Value.Trim();
            var arg = Regex.Match(d, @"\((.*)\)+");

            result.Name  = fun;
            result.Index = m.Index;

            if (arg.Success && arg.Groups.Count == 2)
            {
                result.Args = JsonConvert.DeserializeObject <object[]>("[" + arg.Groups[1].Value + "]");
            }

            return(result);
        }
Esempio n. 2
0
        private string FormatCode(UrlFunction result)
        {
            var code = GetFunc(result.Name);

            return(string.Format(code, result.Args));
        }
        protected override string FormatCode(UrlFunction result)
        {
            var formatCode = string.Format(code, result.Args);

            return(formatCode);
        }