mvc不一致的可访问性属性

时间:2014-07-01 19:54:29

标签: asp.net asp.net-mvc-4

我对这一切都很陌生,但我找不到答案。 (对不起我的抱怨)

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;

namespace Myproject.Models
{
    public class Product
    {
        public int ProductID { get; set; }
        [Required]
        public string Name { get; set; }
        public string Weight { get; set; }
        public List<Options> **Options** { get; set; }
        public List<Variants> **Variants** { get; set; }
    }
}

(我已经启动了具有蓝色下划线的位)

我有两个其他模型,一个options.cs模型和一个variants.cs模型。

问题是我在列表后面的选项和变体文本上收到此错误消息。 我一直关注MVC 02 |开发ASP.NET MVC 4模型教程,在制作模型时Chris使用public List<Sessions> Sessions { get; set; }并且他没有得到任何蓝色下划线...

我的问题是为什么我会得到“不一致的辅助功能”

Chris正在使用2012年,而我正在使用2013年的视觉工作室。所以它与此有关,但为什么呢?我该如何解决?

我在DbSet选项上遇到同样的错误{get;组;和我的变种DbsSet

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

在options.cs和variants.cs文件中,将您的课程标记为公开

public class Options { ... } 
public class Variants { ... }

在公共类中,您不能公开非公共类型的公共属性,因为在这种情况下,其他外部程序集可以查看您的公共属性,但如果该类不公开,则此类型对于它们是未知的。