用户实现访问器
本文关键字:访问 实现 用户 | 更新日期: 2023-09-27 17:53:17
我的代码目前是无限循环,我不知道为什么。我正在尝试实现一个get,set访问器,检查接受的数字是0-100之间,如果不是,它将设置值等于零。我不太明白我做错了什么,如能得到帮助,将不胜感激。
public double Quiz1
{
get { return Quiz1; }
set
{
if (value > 0 && value < 101)
{
Quiz1 = value;
}
else
{
Quiz1 = 0;
}
}
}
当你在get
变量中调用return Quiz1
时,你是在一次又一次地递归地调用get
变量。
自动实现属性(例如public double Quiz1 { get; set; }
)提供了一个隐藏字段,其中属性的值实际上是存储。
当为一个属性实现传统的(非自动的)get
和set
方法时,没有自动生成的支持字段。
private double m_quiz1;
public double Quiz1
{
get { return m_quiz1; }
set
{
if (value > 0 && value < 101)
{
m_quiz1= value;
}
else
{
m_quiz1= 0;
}
}
}
参见:
- 属性(c#编程指南)- MSDN