首页 > 解决方案 > 就像在视图中一样,在 C# 中将子对象转换为父对象并返回给子对象

问题描述

我有这样的方法:

public ParentItem GetParentItem()
{
    return GetChildItem();
}

public ChildItem GetChildItem()
{
    return new ChildItem();
}

public void Run()
{
    var item = GetParentItem();
    var castedItem = (ChildItem) item;
}

现在演员阵容失败了,我理解这是因为你不能将汽车投射到法拉利中。但是,我确信有一种方法可以实现上述目标,因为我已经在 mvc 5 应用程序中使用了视图。

我创建了一个局部视图,它采用模型,ChildItem当我调用视图时,我通过了ParentItem,并且视图能够提取只ChildItem知道的值。

我有 2 个问题:
1. 为什么上述内容适用于 Views?
2. 如何让它在实际的 c# 类中工作?

我唯一合理的理论是,当对象被传递给视图时,它是序列化的,并且类型没有太大区别,因为结构是相同的。

标签: c#castingasp.net-mvc-5

解决方案


推荐阅读