diff options
Diffstat (limited to 'IrcStates/ISupportPrefix.cs')
-rw-r--r-- | IrcStates/ISupportPrefix.cs | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/IrcStates/ISupportPrefix.cs b/IrcStates/ISupportPrefix.cs index b535212..fb5114b 100644 --- a/IrcStates/ISupportPrefix.cs +++ b/IrcStates/ISupportPrefix.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Globalization; +using System.Linq; namespace IrcStates { @@ -11,8 +12,10 @@ namespace IrcStates if (splitVal == null) throw new ArgumentNullException(nameof(splitVal)); var split = splitVal.Substring(1).Split(')', 2); - Modes = new List<string> {split[0]}; - Prefixes = new List<string> {split[1]}; + Modes = new List<string>(); + Modes.AddRange(split[0].Select(c => c.ToString(CultureInfo.InvariantCulture))); + Prefixes = new List<string>(); + Prefixes.AddRange(split[1].Select(c => c.ToString(CultureInfo.InvariantCulture))); } public List<string> Modes { get; set; } @@ -22,9 +25,10 @@ namespace IrcStates { return FromMode(mode.ToString(CultureInfo.InvariantCulture)); } + public string FromMode(string mode) { - return Modes.Contains(mode) ? Modes[Modes.IndexOf(mode)] : null; + return Modes.Contains(mode) ? Prefixes[Modes.IndexOf(mode)] : null; } public string FromPrefix(char prefix) @@ -34,7 +38,7 @@ namespace IrcStates public string FromPrefix(string prefix) { - return Prefixes.Contains(prefix) ? Prefixes[Prefixes.IndexOf(prefix)] : null; + return Prefixes.Contains(prefix) ? Modes[Prefixes.IndexOf(prefix)] : null; } } } |