private void GuessType(object param, IEnumerable vals, object type)
        {
            if (param == null)
            {
                throw new ArgumentNullException("param", "Type can not be guessed for a null value."); // Use 'nameof' expression
            }

            if (type == null)
            {
                throw new ArgumentNullException(string.Format("Empty type '{0}'", type.GetType())); // Use string interpolation + possible NRE
            }

            if (vals == null)
            {
                throw new ArgumentNullException("vals"); // Use 'nameof' expression
            }

            if (!(param.ToString() == "check")) // Simplify negative equality expression
            {
            }

            if (type == typeof(int)) // Possible unintended reference comparison
            {
                // Source: http://stackoverflow.com/questions/9234009/c-sharp-type-comparison-type-equals-vs-operator
                Type type = new TypeDelegator(typeof(int));  // Merge variables
                Console.WriteLine(type.Equals(typeof(int))); // Check for reference equality instead
            }

            bool serializable = (type != null && type is Abstraction); // Merge sequential checks
        }
Exemple #2
0
    public T To <T>(object param)
    {
        var out_type = new TypeDelegator(typeof(T));

        if (out_type.Equals(typeof(int)))
        {
            return((T)(int.Parse(param.ToString()) as object));
        }
        if (out_type.Equals(typeof(long)))
        {
            return((T)(long.Parse(param.ToString()) as object));
        }
        if (out_type.Equals(typeof(double)))
        {
            return((T)(double.Parse(param.ToString()) as object));
        }
        if (out_type.Equals(typeof(decimal)))
        {
            return((T)(decimal.Parse(param.ToString()) as object));
        }
        if (out_type.Equals(typeof(float)))
        {
            return((T)(float.Parse(param.ToString()) as object));
        }
        if (out_type.Equals(typeof(Version)))
        {
            return((T)(Version.Parse(param.ToString()) as object));
        }
        if (out_type.Equals(typeof(DateTime)))
        {
            return((T)(DateTime.Parse(param.ToString()) as object));
        }
        if (out_type.Equals(typeof(string)))
        {
            return((T)(param as object));
        }
        else
        {
            return((T)param);
        }
    }