我在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)
问题是你给变量和属性赋予相同的名称.
您可以通过为它们指定不同的名称来修复它:
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)
| 归档时间: |
|
| 查看次数: |
11689 次 |
| 最近记录: |