微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

asp.net – ‘没有重载的方法’ToString’采取’1’参数’错误发生时格式化日期字段到字符串ON“dd-MM-yyyy”格式

我一直在使用asp.net 3.5.我想将一个DateTime数据从sqldatareader转换为“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与兼容的签名重载,所以你得到一个编译时错误

原文地址:https://www.jb51.cc/aspnet/253751.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐