gpt4 book ai didi

c# - IList类型转换问题

转载 作者:太空宇宙 更新时间:2023-11-03 11:43:11 25 4
gpt4 key购买 nike

我从一本书上得到了这行代码。我不明白有人怎么会知道 controller.List().ViewData.Model 可以类型转换为 IList??

var people = controller.List().ViewData.Model as IList<Person>;

最佳答案

您调用的是 ASP.NET MVC Controller ,但不是使用它来呈现 View ,而是直接访问 ViewData。

通常在 ASP.NET MVC 中,您将为您的 View 创建一个类型化 View ,该 View 将从 System.Web.Mvc.ViewPage<T> 继承。在这种情况下,它将是 System.Web.Mvc.ViewPage<IList<Person>> .创建此类型化 View 后,您会在 View 中知道 ViewData.Model类型为 IList<Person> .

像您发布的那样的调用通常用于对 Controller 进行单元测试。在这种情况下,您直接调用 Controller 方法并取回 ViewResult。里面有数据。在编写单元测试时,您知道 ViewData.Model类型为 IList<Person>因为这就是契约(Contract)——这就是单元测试的目的,以验证 Controller 是否生成了正确类型的模型并具有正确的数据。

关于c# - IList类型转换问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4103640/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com