【发布时间】:2020-08-06 08:21:33
【问题描述】:
我有两个类和一个方法。我正在尝试在方法中将List<Timelineinfo> 转换为List<Edit>。
public class Timelineinfo
{
public int Name { get; set; }
public int Age { get; set; }
}
public class Edit : Timelineinfo
{
public int Confirmed { get; set; }
}
方法:
public ActionResult Edit(SubmitModel model)
{
model.Timelineinfos = (Edit)model.Timelineinfos; //Convert the Timelineinfo data into the Edit class,
// which has an additional Confirmed property.
model.Confirmed = 0;
return null;
}
但是,在 model.Confirmed = 0; 行上,我收到以下错误:
SubmitModel' 不包含“Confirmed”的定义,并且找不到接受“SubmitModel”类型的第一个参数的可访问扩展方法“Confirmed”(您是否缺少 using 指令或程序集引用?)
提交模型如下所示:
public class SubmitModel
{
[BindProperty]
public Timelineinfo Timelineinfos { get; set; }
}
【问题讨论】:
-
您不能将基本类型转换为派生类型。您必须创建派生类型的新实例,以及要保留的副本和属性。
-
哦,是的,对不起@Jamiec 我猜错了
标签: c# class type-conversion