我是软件领域的初学者。我在将 Datetime 传递给类构造函数时遇到问题。所以有一个 ASP.Net MVC 5 应用程序,它与 VB.net 代码交互以进行后端工作。(幽默我这个)。
这是我到目前为止所拥有的。
视图模型:
public class Add
{
public DateTime? dateTime { get; set; }
}
控制器:
[HttpPost]
public ActionResult AddLocationBlock(Add viewModel)
{
if(viewModel.dateTime !=null)
{
ClsArgs obj1 = new ClsArgs((viewModel.dateTime);
^^ ERROR: matching constructor not found
}
return new EmptyResult();
}
VB.net 构造函数定义:
public ClsArgs(DateTime ExpirationDate);
以下解决方案有效:
[HttpPost]
public ActionResult AddLocationBlock(Add viewModel)
{
if(viewModel.dateTime !=null)
{
DateTime dte = new DateTime();
ClsArgs obj1 = new ClsArgs(dte);
}
return new EmptyResult();
}
您正在尝试发送一个Nullable<DateTime>
(这就是 DateTime?实际上意味着它只是编写它的较短版本)并且您的构造函数采用DateTime
. 在检查 null 之后,您必须使用Value
来获取实际的DateTime
,HasValue
否则如果它实际上为 null,您将收到异常。
改变这个
ClsArgs obj1 = new ClsArgs(viewModel.dateTime)
对此
ClsArgs obj1 = new ClsArgs(viewModel.dateTime.Value)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句