Esempio n. 1
0
        /// <summary>
        /// 根据分隔符加载某个 js 文件中的所有的类。
        /// </summary>
        /// <param name="jsContent"></param>
        /// <param name="list"></param>
        public static void LoadCommandJsBlocks(string jsContent, List<JsBlock> list)
        {
            //可以使用 “//rafy:commandEnd” 来分隔多个命令,方便在一个文件中定义多个命令
            var codes = jsContent.Split(JsBlocksSplitter, StringSplitOptions.RemoveEmptyEntries);
            foreach (var code in codes)
            {
                var jsCode = code.Trim();

                var jsClass = new JsBlock(jsCode);

                //在 JS 代码中匹配出类名和基类名。
                var match = ClassRegex.Match(jsCode);
                if (match.Success)
                {
                    jsClass.ClassName = match.Groups["className"].Value;
                    jsClass.Extend = match.Groups["extend"].Value;
                }

                list.Add(jsClass);
            }
        }