Example #1
0
        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();
        }