Example #1
0
        public static T GetValue <T>(this ExtendedDataDictionary extendedData, string key)
        {
            if (!extendedData.ContainsKey(key))
            {
                throw new KeyNotFoundException(String.Format("Key \"{0}\" not found in the dictionary.", key));
            }

            object data = extendedData[key];

            if (data is T)
            {
                return((T)data);
            }

            if (data is string)
            {
                try {
                    return(JsonConvert.DeserializeObject <T>((string)data));
                } catch {}
            }

            try {
                return(data.ToType <T>());
            } catch {}

            return(default(T));
        }