如何使用' DateTime'的方法来自声明类型为' object'的参数的对象

时间:2014-09-25 03:49:37

标签: c#

我想使用object类型作为参数,以便从各种类型(int,string,datetime等)获取值,并返回对象的字符串表示。

但我对DateTime有疑问。我知道objectDateTime的父类,因此没有任何子类的方法。

那么有没有办法从object复制一些值并实例化一个新的DateTime对象 或者还有其他方法。

    public static string getStringOfValue(object value)
    {
        // all of this List is used for type checking //////////////
        List<object> _number_type_list = new List<object>()
        {
            typeof(byte), typeof(sbyte), typeof(int), typeof(long),
            typeof(short), typeof(ushort), typeof(uint), typeof(ulong),
            typeof(float), typeof(float), typeof(decimal)
        };
        List<object> _string_type_list = new List<object>()
        {
            typeof(char),typeof(string)
        };
        List<object> _boolean_type_list = new List<object>()
        {
            typeof(bool)
        };
        //////////////////////////////////////////////////

        // used for format string of DateTime
        string SQL_DATETIME_FORMAT = "YYYYMMdd hhmmss.fff";


        var value_type = value.GetType();
        var value_string = "";

        if (_number_type_list.Contains(value_type) || _boolean_type_list.Contains(value_type))
        {
            value_string = value.ToString();
        }

        else if (_string_type_list.Contains(value_type))
        {
            value_string = "'" + value + "'";
        }

        else if (value.GetType() == typeof(System.DateTime))
        {
            //// how can I use format string method of DateTime ////
            value_string = value.ToString();
            // value_string = value.ToString(SQL_DATETIME_FORMAT);
            ////////////////////////////////////////////////////////
        }

        return value_string;
    }

1 个答案:

答案 0 :(得分:1)

  

如何使用DateTime

的格式字符串方法

在拨打电话前将value投放到DateTime

value_string = ((DateTime)value).ToString(SQL_DATETIME_FORMAT);