private static void WriteSplitFile <T>() where T : ITable, ILuaFile <T> { T luaFile = default; string mainFileHeadText = luaFile.GetLuaFileHeadStart(); ILuaSplitFile <T> luaSplitFile = (ILuaSplitFile <T>)luaFile; string folderPath = luaSplitFile.GetFolderPath(); string mainFileName = luaSplitFile.GetMainFileName(); string requirePath = luaSplitFile.GetChildFileRequirePath(); string fileNameFormat = luaSplitFile.GetChildFileNameFormat(); WriteSplitFile <T>(folderPath, mainFileName, mainFileHeadText, requirePath, fileNameFormat); if (Tool.IsImplementInterface(typeof(T), typeof(ILuaMultipleSplitFile <,>))) { WriteMultipleSplitFile <T>(); } }