public TokenParameters(string ParamsString) : this() { ParamsString = Utils.FixQuotes(ParamsString); string[] KeyValueStrings = ParamsString.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries); foreach (var KV in KeyValueStrings) { if (KV.Contains("=")) { string[] KVTokens = KV.Split(new[] { '=' }); if (KVTokens.Length > 2) { throw new Exception(string.Format("Token parameter string malformed ({0})", ParamsString)); } Params.Add(new TokenParameter(KVTokens[0].Trim(), KVTokens[1].Trim())); } else { Params.Add(new TokenParameter(KV.Trim(), "true")); } } // Last defined item takes precedence Params.Reverse(); }