/// <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); } }