public static T[] ConvertObject2Array <T>(object arg, T def_value) where T : new()
        {
            try
            {
                if (arg is int || arg is double || arg is T)
                {
                    T[] ret = new T[1];
                    ret[0] = (T)arg;
                    return(ret);
                }
                else if (arg is object[, ])
                {
                    int row = ((object[, ])arg).GetLength(0);
                    int col = ((object[, ])arg).GetLength(1);

                    T[] ret = new T[row * col];
                    for (int i = 0; i < row; i++)
                    {
                        for (int j = 0; j < col; j++)
                        {
                            ret[i * col + j] = EQConverter.ConvertObject <T>(((object[, ])arg)[i, j], def_value);
                        }
                    }
                    return(ret);
                }
            }
            catch (Exception e)
            {
                throw e;
            }

            T[] retArr = new T[1];
            retArr[0] = def_value;
            return(retArr);
        }