成员定义了多次错误消息?

Ace*_*ter 4 c# visual-studio

我在vs2010中使用c#,并且学习oop; 我第一次尝试在appCode文件夹中声明对象提交时不断给出错误消息

this member defined more than once
ambiguity between Submission.SubmissionId and Submission.SubmissionId
Run Code Online (Sandbox Code Playgroud)

此错误抛出每个变量(CustId,BroId,Coverage).我按照我在语法教程中找到的模型; 这是问题吗?代码如下:

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

public class Submission 
    {
        int SubmissionId;
        int CustId;
        int BroId;
        int Coverage;
        //Array Product[] products;

        public Submission() {}
        public int SubmissionId 
        {
            get { return SubmissionId; }
            set { SubmissionId = value; }
        }
        public int CustId
        {
            get { return CustId; }
            set { CustId = value; }
        }
        public int BroId
        {
            get { return BroId; }
            set { BroId = value; }
        }
        public int Coverage
        {
            get { return Coverage; }
            set { Coverage = value; }
        }
    } 
Run Code Online (Sandbox Code Playgroud)

Akr*_*hda 5

问题是你给变量和属性赋予相同的名称.

您可以通过为它们指定不同的名称来修复它:

public class Submission 
{

    public Submission() {}

    private int submissionId;
    public int SubmissionId 
    { 
        get{ return this.submissionId; }
        set{ this.submissionId = value; }
    }

    private int custId ;
    public int CustId
    { 
        get{ return this.custId ; }
        set{ this.custId = value; }
    }

    private int broId ;
    public int BroId
    { 
        get{ return this.broId ; }
        set{ this.broId = value; }
    }

    private int coverage;
    public int Coverage
    { 
        get{ return this.coverage; }
        set{ this.coverage= value; }
    }


} 
Run Code Online (Sandbox Code Playgroud)

阅读如何最好地命名字段和属性.


此外,您可以使用自动实现的属性:

在C#3.0及更高版本中,当属性访问器中不需要其他逻辑时,自动实现的属性使属性声明更简洁.它们还使客户端代码能够创建对象.

开始了:

public class Submission 
{

    public Submission() {}

    public int SubmissionId { get; set; }

    public int CustId { get; set; }

    public int BroId { get; set; }

    public int Coverage { get; set; }

} 
Run Code Online (Sandbox Code Playgroud)