【问题标题】:MVC List<> error in model in reference to another model参考另一个模型的模型中的 MVC List<> 错误
【发布时间】:2019-11-01 23:55:37
【问题描述】:

List&lt;Story&gt;有错误:

找不到类型或命名空间名称“列表”(您是 缺少 using 指令或程序集引用?)(CS0246) [项目]

using System;
using project.Models;

namespace project.Models
{
    public class Genre
    {
        public int GenreId { get; set; }

        public string Name { get; set; }
        public List<Story> Stories { get; set; }
    }
}

【问题讨论】:

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


    【解决方案1】:

    您缺少 using 语句 using System.Collections.Generic;

    【讨论】:

    • using System.Collections.Generic这就是你所需要的
    【解决方案2】:

    在类的顶部添加对System.Collections.Generic 的引用:

    using System.Collections.Generic;
    

    来自您的评论:

    还有一个问题:有必要写namespace project.Models?和原因

    命名空间不是强制性的,但它们有助于组织您的代码。

    你不需要这行using project.Models; 在你的班级顶部GenreGenre 已经在命名空间 project.Models 中,因为您在此处定义:

    // define the namespace for Genre
    namespace project.Models
    {
    

    由于Genre 位于命名空间project.Models 中,您可以在不添加显式using 的情况下引用Models 中的任何其他类。

    但是,当您从位于不同命名空间(不在 project.Models 中)的类中引用 Genre 时,您需要将 using project.Models 添加到该类的顶部。否则,您可以使用完整参考 Models.Genre

    This link 对声明、访问和使用命名空间有很好的解释。

    【讨论】:

    • 还有一个问题:有必要写namespace project.Models吗?以及原因
    • 命名空间不是强制性的,但它们有助于组织您的代码(尤其是对于较大的项目)。当您在另一个类中使用您的类Genre 时,您需要在类的顶部添加using project.Models,或者在引用Genre 时使用Models.Genre @DanabekDuisekov
    • @DanabekDuisekov 我已经用命名空间信息更新了我的答案
    猜你喜欢
    • 2018-11-08
    • 2021-03-27
    • 1970-01-01
    • 2016-05-09
    • 2011-05-13
    • 1970-01-01
    • 2010-09-08
    • 2015-02-03
    • 1970-01-01
    相关资源
    最近更新 更多