当前位置 : 主页 > 编程语言 > c语言 >

c# – DateTime TypeConverter

来源:互联网 收集:自由互联 发布时间:2021-06-25
我有以下代码将字符串转换为类型T.它适用于所有其他类型,但在T类型为DateTime时会出错. TypeConverter c = TypeDescriptor.GetConverter( typeof (T) ); return (T) c.ConvertTo( obj, typeof (T) ) 我传了一个字符串
我有以下代码将字符串转换为类型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,因为它是那种转换器.

你应该小心文化问题.

网友评论