private static bool FromEnumToNumericType <N>(Type enumType, object enumVal, N defaultVal, Type xType, out object result)
        {
            var valueUpdated = true;

            result = defaultVal;

            if (xType == TypeClass.ByteClazz)
            {
                result = NumConvX.EnumToByte(enumType, enumVal, NumConvX.ObjectToByte(defaultVal));
            }
            else if (xType == TypeClass.SByteClazz)
            {
                result = NumConvX.EnumToSByte(enumType, enumVal, NumConvX.ObjectToSByte(defaultVal));
            }
            else if (xType == TypeClass.Int16Clazz)
            {
                result = NumConvX.EnumToInt16(enumType, enumVal, NumConvX.ObjectToInt16(defaultVal));
            }
            else if (xType == TypeClass.UInt16Clazz)
            {
                result = NumConvX.EnumToUInt16(enumType, enumVal, NumConvX.ObjectToUInt16(defaultVal));
            }
            else if (xType == TypeClass.Int32Clazz)
            {
                result = NumConvX.EnumToInt32(enumType, enumVal, NumConvX.ObjectToInt32(defaultVal));
            }
            else if (xType == TypeClass.UInt32Clazz)
            {
                result = NumConvX.EnumToUInt32(enumType, enumVal, NumConvX.ObjectToUInt32(defaultVal));
            }
            else if (xType == TypeClass.Int64Clazz)
            {
                result = NumConvX.EnumToInt64(enumType, enumVal, NumConvX.ObjectToInt64(defaultVal));
            }
            else if (xType == TypeClass.UInt32Clazz)
            {
                result = NumConvX.EnumToUInt64(enumType, enumVal, NumConvX.ObjectToUInt64(defaultVal));
            }
            else
            {
                valueUpdated = false;
            }

            return(valueUpdated);
        }