public static bool FromObjToNumericType <N>(object fromObj, N defaultVal, Type xType, out object result)
        {
            var valueUpdated = true;

            result = defaultVal;

            if (xType == TypeClass.ByteClazz)
            {
                result = NumConvX.ObjectToByte(fromObj, NumConvX.ObjectToByte(defaultVal));
            }
            else if (xType == TypeClass.SByteClazz)
            {
                result = NumConvX.ObjectToSByte(fromObj, NumConvX.ObjectToSByte(defaultVal));
            }
            else if (xType == TypeClass.Int16Clazz)
            {
                result = NumConvX.ObjectToInt16(fromObj, NumConvX.ObjectToInt16(defaultVal));
            }
            else if (xType == TypeClass.UInt16Clazz)
            {
                result = NumConvX.ObjectToUInt16(fromObj, NumConvX.ObjectToUInt16(defaultVal));
            }
            else if (xType == TypeClass.Int32Clazz)
            {
                result = NumConvX.ObjectToInt32(fromObj, NumConvX.ObjectToInt32(defaultVal));
            }
            else if (xType == TypeClass.UInt32Clazz)
            {
                result = NumConvX.ObjectToUInt32(fromObj, NumConvX.ObjectToUInt32(defaultVal));
            }
            else if (xType == TypeClass.Int64Clazz)
            {
                result = NumConvX.ObjectToInt64(fromObj, NumConvX.ObjectToInt64(defaultVal));
            }
            else if (xType == TypeClass.UInt64Clazz)
            {
                result = NumConvX.ObjectToUInt64(fromObj, NumConvX.ObjectToUInt64(defaultVal));
            }
            else if (xType == TypeClass.FloatClazz)
            {
                result = NumConvX.ObjectToFloat(fromObj, NumConvX.ObjectToFloat(defaultVal));
            }
            else if (xType == TypeClass.DoubleClazz)
            {
                result = NumConvX.ObjectToDouble(fromObj, NumConvX.ObjectToDouble(defaultVal));
            }
            else if (xType == TypeClass.DecimalClazz)
            {
                result = NumConvX.ObjectToDecimal(fromObj, NumConvX.ObjectToDecimal(defaultVal));
            }
            else
            {
                valueUpdated = false;
            }

            return(valueUpdated);
        }