DateTime TypeConverter
我有下面的代码将字符串转换为类型T.它适用于所有其他类型,但是当T是DateTime类型时给出错误。
TypeConverter c = TypeDescriptor.GetConverter( typeof (T) ); return (T) c.ConvertTo( obj, typeof (T) )
我传了一个字符串
obj = "09/09/2009"
它抛出一个错误{“’DateTimeConverter’无法将’System.String’转换为’System.DateTime’。”}
如果您知道要获取字符串,则可以使用TypeConverter.ConvertFromString
。 这适用于DateTimeConverter
,虽然我不知道为什么ConvertTo
没有。
例如,这有效:
TypeConverter c = TypeDescriptor.GetConverter( typeof (DateTime) ); Console.WriteLine((DateTime) c.ConvertFromString("09/09/2009"));
或者,只需转换ConvertFrom
也可以:
TypeConverter c = TypeDescriptor.GetConverter( typeof (DateTime) ); Console.WriteLine((DateTime) c.ConvertFrom("09/09/2009"));
它将转换为 DateTime
因为它是那种转换器。
你应该小心文化问题。