C# 日期时间类型转换器
我有下面的代码将字符串转换为T类型。它对所有其他类型都很好,但当T是DateTime类型时会出现错误C# 日期时间类型转换器,c#,c#-3.0,typeconverter,C#,C# 3.0,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.DateT
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
,因为它就是这种转换器
不过,你应该注意文化问题