'格式化日期时间字段为字符串'dd-MM-yyyy'格式时,方法'ToString'没有重载'1'参数'错误

net*_*apa 22 asp.net datetime tostring

我一直在研究asp.net 3.5.我想将sqldatareader中的DateTime数据转换为Format上的String "dd-MM-yyyy".但是当我使用"dd-MM-yyyy"格式化参数作为"rdMonthlyLeave["LEAVE_DATE"].ToString("dd-MM-yyyy")"浏览器返回编译错误时

编译器错误消息:CS1501:方法'ToString'没有重载需要'1'参数

你有解决方案吗?

Jon*_*eet 44

你需要把它投射到DateTime第一个:

DateTime leave = (DateTime) rdMonthlyLeave["LEAVE_DATE"];
DoSomethingWith(leave.ToString("dd-MM-yyyy"));
Run Code Online (Sandbox Code Playgroud)

要不就

((DateTime)rdMonthlyLeave["LEAVE_DATE"]).ToString("dd-MM-yyyy")
Run Code Online (Sandbox Code Playgroud)

DataReader索引器的返回类型是正确的object,并且object没有ToString带有字符串的重载.不要忘记重载是编译时的决定 - 编译器选择具有兼容签名的适当方法,并且只根据执行时类型进行重写.在这种情况下,有没有超载ToString与兼容的签名,所以你得到一个编译时错误.