public override string ToString(FormatType format, object supplement = null) { string constantDesc = GetBriefConstant(); string designerDesc = GetBriefChartDesigner(); string allNotesDesc = GetBriefAllNotes(); switch (format) { case FormatType.Brief: return($"{SongId}.{SongTitle}{constantDesc?.Be($" [{constantDesc}]")}"); case FormatType.Detail: return($"{JacketUrl?.Be(new KouImage(JacketUrl, this).ToKouResourceString())}" + $"{SongId}.{SongTitle}\n" + constantDesc?.Be($"定数:{constantDesc}\n") + Aliases?.Be($"别名:{Aliases.Select(p => p.Alias).ToStringJoin(',')}\n") + SongArtist?.Be($"曲师:{SongArtist}\n") + designerDesc?.Be($"谱师:{designerDesc}\n") + JacketDesigner?.Be($"画师:{JacketDesigner}\n") + SongBpm?.Be($"BPM:{SongBpm}\n") + SongLength?.Be($"歌曲长度:{SongLength}\n") + SongPack?.Be($"曲包:{SongPack.GetKouEnumFirstName().ToTitleCase()}\n") + allNotesDesc?.Be($"总键数:{allNotesDesc}\n")); } return(null); }