我一直在使用asp.net 3.5.我想将一个DateTime数据从sqldatareader转换为“dd-MM-yyyy”格式的字符串。
但是当我使用“dd-MM-yyyy”格式化参数为“rdMonthlyLeave [”LEAVE_DATE“]时,ToString(”dd-MM-yyyy“)”浏览器返回编译错误
但是当我使用“dd-MM-yyyy”格式化参数为“rdMonthlyLeave [”LEAVE_DATE“]时,ToString(”dd-MM-yyyy“)”浏览器返回编译错误
Compiler Error Message: CS1501: No overload for method ‘ToString’ takes ‘1’ arguments
你有解决办法吗?
解决方法
您需要先将其转换为DateTime:
DateTime leave = (DateTime) rdMonthlyLeave["LEAVE_DATE"]; DoSomethingWith(leave.ToString("dd-MM-yyyy"));
要不就
((DateTime)rdMonthlyLeave["LEAVE_DATE"]).ToString("dd-MM-yyyy")
DataReader索引器的返回类型只是对象,对象没有ToString的重载,它接受一个字符串。不要忘记,重载是编译时的决定 – 编译器使用兼容签名选择适当的方法,只有基于执行时类型才能覆盖。在这种情况下,没有ToString与兼容的签名重载,所以你得到一个编译时错误。