/// <summary> /// 创建一个类的注解 /// </summary> /// <param name="_classStruct">类结构体</param> /// <returns></returns> private string CreateClassDoc(TransClass.ClassStruct _classStruct) { StringBuilder _classDoc = new StringBuilder(); _classDoc.Add($"{_classStruct._ParentModule} = {_classStruct._ParentModule} or {{}}"); _classDoc.NewLine($"---@class {_classStruct._Class} : {_classStruct._InheritedClass}"); _classDoc.NewLine($"local {_classStruct._Class} = {{}}"); _classDoc.NewLine($"{_classStruct._ParentModule}.{_classStruct._Class} = {_classStruct._Class}"); _classDoc.NewLine($"return {_classStruct._Class}"); int line = _classDoc.FindLine($"{_classStruct._ParentModule}.{_classStruct._Class} = {_classStruct._Class}"); _classDoc.MoveCursor(line); _classDoc.NewLine(); return(_classDoc.ToString()); }
public string Start(TransClass.ClassStruct _classStruct) { className = _classStruct._Class; StringBuilder sb = new StringBuilder(CreateClassDoc(_classStruct)); if (_classStruct._Functions != null) { foreach (var function in _classStruct._Functions) { sb.Add(CreateFunctionDoc(function)); sb.MoveCursor(sb.GetLinesCount() - 1); } } return(sb.GetString()); }