C# 当你对一个类进行偏分时,为什么定义仍然模棱两可?

C# 当你对一个类进行偏分时,为什么定义仍然模棱两可?,c#,entity-framework-6,C#,Entity Framework 6,我有实体框架生成的follow类 public partial class Album { public int AlbumID { get; set; } public string Title { get; set; } public decimal Price { get; set; } } 我在另一节课上也有以下内容 public class Album { public int AlbumID { get; set; } public

我有实体框架生成的follow类

 public partial class Album
 {
    public int AlbumID { get; set; }
    public string Title { get; set; }
    public decimal Price { get; set; }
 }
我在另一节课上也有以下内容

 public class Album
 {
    public int AlbumID { get; set; }
    public string Title { get; set; }
    public decimal Price { get; set; }
 }
我想知道,当生成的类是部分类时,为什么VisualStudio会给我一个关于歧义和已经存在的定义的错误。我尝试过使非分部类成为分部类,但它仍然给了我一个错误

错误:“Album”类型的声明缺少部分修饰符;这种类型的另一个分部声明存在

一个“分部”类只是在一个类中的文件之间分解代码的一种方法。您可以这样做是为了易于使用,甚至是为了代码生成,但这就是它真正要做的

对于该类,在该命名空间中具有该名称的所有类定义都需要标记为“partial”

您的第二个类“中断”了分部功能,因为它没有标记为分部,而是以相同名称存在于同一命名空间中。您还拥有重复的属性定义,一旦修复此属性,将导致下一个错误

这就引出了一个显而易见的问题?为什么您认为需要两个类在同一名称空间中执行相同的操作?

一个“分部”类只是将一个类中的代码在文件之间分解的一种方法。您可以这样做是为了易于使用,甚至是为了代码生成,但这就是它真正要做的

对于该类,在该命名空间中具有该名称的所有类定义都需要标记为“partial”

您的第二个类“中断”了分部功能,因为它没有标记为分部,而是以相同名称存在于同一命名空间中。您还拥有重复的属性定义,一旦修复此属性,将导致下一个错误


这就引出了一个显而易见的问题?为什么您认为需要两个类在同一名称空间中执行相同的操作?

什么错误,这一个?“在'Album'类型的声明中缺少部分修饰符;存在此类型的另一个部分声明”原因是Visual Studio不知道使用哪一个。它是否是部分类并不重要。只要你能在你叫它的地方找到它,它仍然会引起混乱。@TimSchmelter是的@奥古斯特奇怪的是,我遵循了微软虚拟学院的教程,这对视频中的那个家伙来说很好。相同的代码和每个thing@AlfieMcNarutoad:然后将其添加到您的问题中。但是,解决这个问题的方法应该是将它也变成
部分
。但是,您使用的是相同的属性。这不起作用,因为这与在同一个类中两次声明相同的属性是一样的。因此,您应该会遇到这样的编译器错误:“类型'Album'已经包含'AlbumID'的定义”。您实际上想要实现什么?什么错误,这一个?“在'Album'类型的声明中缺少部分修饰符;存在此类型的另一个部分声明”原因是Visual Studio不知道使用哪一个。它是否是部分类并不重要。只要你能在你叫它的地方找到它,它仍然会引起混乱。@TimSchmelter是的@奥古斯特奇怪的是,我遵循了微软虚拟学院的教程,这对视频中的那个家伙来说很好。相同的代码和每个thing@AlfieMcNarutoad:然后将其添加到您的问题中。但是,解决这个问题的方法应该是将它也变成
部分
。但是,您使用的是相同的属性。这不起作用,因为这与在同一个类中两次声明相同的属性是一样的。因此,您应该会遇到这样的编译器错误:“类型'Album'已经包含'AlbumID'的定义”。您实际上在尝试实现什么?如果不是太多,请尝试查看他有两个类执行相同的操作,并且不会产生错误。我只是想知道他怎么一点也没得到我不会看一整小时的。我强烈怀疑他的两个类在不同的名称空间中。值得一读:-“所有部分都必须使用partial关键字。”如果不是太多,试着看看他有两个类在做同样的事情,并且没有产生错误。我只是想知道他怎么一点也没得到我不会看一整小时的。我强烈怀疑他的两个类在不同的名称空间中。值得一读:-“所有部分都必须使用partial关键字。”