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与兼容的签名重载,所以你得到一个编译时错误

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....