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); }
public override string GetAutoCitedSupplement(List <string> citedFieldNames) { return($"{citedFieldNames.BeIfContains(nameof(SongArtist), $"\n 曲师:{SongArtist}")}" + $"{citedFieldNames.BeIfContains(nameof(SongBpm), $"\n BPM:{SongBpm}")}" + $"{citedFieldNames.BeIfContains(nameof(SongPack), $"\n 曲包:{SongPack.GetKouEnumFirstName()}")}" + $"{citedFieldNames.BeIfContains(nameof(SongLength), $"\n 长度:{SongLength}")}" + $"{citedFieldNames.BeIfContains(nameof(SongAppend.ChartDesigner), $"\n 谱师:{GetBriefChartDesigner()}")}" + $"{citedFieldNames.BeIfContains(nameof(SongAppend.ChartAllNotes), $"\n 总键数:{GetBriefAllNotes()}")}" + $"{citedFieldNames.BeIfContains(nameof(JacketDesigner), $"\n 画师:{JacketDesigner}")}"); }