Ejemplo n.º 1
0
        /// <summary>
        /// Gets the value as an enum from the QueryComposerTermDTO for the specified key.
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="term"></param>
        /// <param name="key"></param>
        /// <param name="value"></param>
        /// <returns></returns>
        public static bool GetEnumValue <T>(this DTO.QueryComposer.QueryComposerTermDTO term, string key, out T value) where T : struct, IConvertible
        {
            if (term == null)
            {
                value = default(T);
                return(false);
            }

            if (!typeof(T).IsEnum)
            {
                throw new ArgumentException("T must be an enum type.");
            }

            return(Enum.TryParse <T>(term.GetStringValue(key), out value));
        }