鉴于使用强类型视图消除类型错误和使用lambda表达式的好处,为什么会使用动态类型视图?当我使用它们时,我感觉不像强类型视图那样安全。我错过了什么吗?它们有特殊用途吗? =)
此致 RaVen
答案 0 :(得分:3)
您不是因为强类型视图为您提供了易用性和许多好处。 如果您有可能包含列表实例的复杂模型,那么FormViewModel以外的其他对象可以帮助您。所以很少有你真正需要动态类型视图的场景。 例如我有产品视图,我需要在其上显示类别,因此我创建了单独的视图模型,并将其用于产品和类别列表。
public class ProductViewModel
{
public Product Product { get; set; }
public List<Category> Categories { get; set; }
}
动态类型视图的主要缺点是,与强类型视图相比,您需要编写大量代码。
答案 1 :(得分:0)
可能有一个用途,例如,如果你有一个使用反射或任何东西从任何对象收集数据的视图(可能是属性网格或其他)。