加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – DateTime TypeConverter

发布时间:2020-12-16 01:31:25 所属栏目:百科 来源:网络整理
导读:我有以下代码将字符串转换为类型T.它适用于所有其他类型,但在T类型为DateTime时会出错. TypeConverter c = TypeDescriptor.GetConverter( typeof (T) ); return (T) c.ConvertTo( obj,typeof (T) ) 我传了一个字符串 obj = "09/09/2009" 它抛出一个错误{“’
我有以下代码将字符串转换为类型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,因为它是那种转换器.

你应该小心文化问题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读