Kos*_*Mar 4 c# visual-studio-2010
我曾称为类Assign和
private int SeatNumber;
public Assign(int SeatNum)
{
SeatNumber = SeatNum;
}
public int SeatNumber
{
get { return SeatNumber; }
set { SeatNumber = value; }
}
Run Code Online (Sandbox Code Playgroud)
我不知道为什么我收到以下错误
类型'WindowsFormsApplication1.Assign'已包含'SeatNumber'的定义
怎么了?
你在这里两次声明相同的变量.
private int SeatNumber;
public int SeatNumber
{
get { return SeatNumber; }
set { SeatNumber = value; }
}
Run Code Online (Sandbox Code Playgroud)
该代码定义了两次相同的变量.如果您使用的是.net 3.0+,则可以执行此类自动实现的属性,但不能private int SeatNumber:
public int SeatNumber
{
get;
set;
}
Run Code Online (Sandbox Code Playgroud)
否则,你应该这样做:
private int SeatNumber_;
public int SeatNumber
{
get { return SeatNumber_; }
set { SeatNumber_ = value; }
}
Run Code Online (Sandbox Code Playgroud)
您应该确保支持该属性的变量具有不同的名称.通常使用camelCase:
private int seatNumber;
public Assign(int SeatNum)
{
SeatNumber = SeatNum;
}
public int SeatNumber
{
get { return seatNumber; }
set { seatNumber = value; }
}
Run Code Online (Sandbox Code Playgroud)
此外,在getter ans setter很简单的情况下,从C#3.0开始,您可以使用自动属性,如下所示:
public int SeatNumber {get; set;}
Run Code Online (Sandbox Code Playgroud)
这允许您删除支持变量:编译器将为您处理它.
| 归档时间: |
|
| 查看次数: |
17210 次 |
| 最近记录: |