【问题标题】:Problem with c# constructorsc#构造函数的问题
【发布时间】:2011-05-22 06:47:01
【问题描述】:

使用Asp.Net-MVC音乐商店教程,具体页面在:

http://www.asp.net/mvc/tutorials/mvc-music-store-part-3

<ul>    
    @foreach (var genre in Model)  
    {  
        <li>
            @Html.ActionLink(genre.Name,"Browse", new { genre = genre.Name })
        </li>  
    }  
</ul>    

变量类型是在控制器类中创建的对象的参考,它具有一个属性 - 名称,我无法理解这个 new{genre=genre.Name} 实例化分配。谁能给我这个语言功能的链接或解释?

【问题讨论】:

    标签: c# asp.net-mvc-3 constructor


    【解决方案1】:

    它是一个object initializer,创建一个anonymous type

    在这种情况下,匿名类型有一个genre 字符串属性,初始化为封闭的genre.Name 属性。

    此代码示例中的命名有点糟糕,可能会造成混淆。

    【讨论】:

    • 谢谢伙计,暂时将该匿名类型的属性重命名为 location_id。很酷,所以当涉及到匿名类型时,我可以在不遵循声明的情况下定义它们,并将它们用作某种短命的辅助类型。如有错误请纠正我。
    • @streetspirit - 短期类型确实是匿名类型的用例之一(在 LINQ 中非常有用)。
    【解决方案2】:

    看起来像Anonymous type

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-08-23
      • 1970-01-01
      • 2011-02-27
      • 1970-01-01
      • 2011-03-13
      相关资源
      最近更新 更多