diff options
Diffstat (limited to 'IrcTokens')
-rw-r--r-- | IrcTokens/Line.cs | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/IrcTokens/Line.cs b/IrcTokens/Line.cs index 27d9c0d..9056097 100644 --- a/IrcTokens/Line.cs +++ b/IrcTokens/Line.cs @@ -18,8 +18,21 @@ namespace IrcTokens private Hostmask _hostmask; private readonly string _rawLine; - public override string ToString() => - $"Line(source={Source}, command={Command}, tags={string.Join(";", Tags.Select(kvp => $"{kvp.Key}={kvp.Value}"))}, params={string.Join(",", Params)})"; + public override string ToString() + { + var vars = new List<string>(); + + if (Command != null) + vars.Add($"command={Command}"); + if (Source != null) + vars.Add($"source={Source}"); + if (Params != null && Params.Any()) + vars.Add($"params=[{string.Join(",", Params)}]"); + if (Tags != null && Tags.Any()) + vars.Add($"tags=[{string.Join(";", Tags.Select(kvp => $"{kvp.Key}={kvp.Value}"))}]"); + + return $"Line({string.Join(", ", vars)})"; + } public override int GetHashCode() => Format().GetHashCode(StringComparison.Ordinal); |