我一直在研究asp.net 3.5。我想将一个DateTime数据从sqldatareader转换为"dd-MM-yyyy"
格式的字符串。
但当我使用"dd-MM-yyyy"
格式参数作为"rdMonthlyLeave["LEAVE_DATE"].ToString("dd-MM-yyyy")"
时,浏览器将编译错误返回为
编译器错误消息:CS1501:方法'ToString'没有重载需要'1'参数
你有解决方案吗?
答案 0 :(得分:44)
您需要先将其转换为DateTime
:
DateTime leave = (DateTime) rdMonthlyLeave["LEAVE_DATE"];
DoSomethingWith(leave.ToString("dd-MM-yyyy"));
或只是
((DateTime)rdMonthlyLeave["LEAVE_DATE"]).ToString("dd-MM-yyyy")
DataReader索引器的返回类型只是object
,而object
没有带有字符串的ToString
重载。不要忘记重载是编译时的决定 - 编译器选择具有兼容签名的适当方法,并且仅基于执行时类型发生覆盖。在这种情况下, 没有带有兼容签名的ToString
重载,因此会出现编译时错误。