C# 用户实现的访问器
我的代码目前是无限循环,我不知道为什么。我正在尝试实现一个get,set访问器,它检查接受的数字是否在0-100之间,如果不是,它将把值设置为零。我不能完全指出我做错了什么。任何帮助都将不胜感激C# 用户实现的访问器,c#,accessor,C#,Accessor,我的代码目前是无限循环,我不知道为什么。我正在尝试实现一个get,set访问器,它检查接受的数字是否在0-100之间,如果不是,它将把值设置为零。我不能完全指出我做错了什么。任何帮助都将不胜感激 public double Quiz1 { get { return Quiz1; } set { if (value > 0 && value < 101) { Quiz1 = value;
public double Quiz1
{
get { return Quiz1; }
set
{
if (value > 0 && value < 101)
{
Quiz1 = value;
}
else
{
Quiz1 = 0;
}
}
}
公共双Quiz1
{
获取{return Quiz1;}
设置
{
如果(值>0&&值<101)
{
Quiz1=数值;
}
其他的
{
Quiz1=0;
}
}
}
当你在get
ter内部说return Quiz1
时,你在一次又一次地递归调用get
ter
(例如,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;
}
}
}
private double m_quiz1;
公共双Quiz1
{
获取{return m_quiz1;}
设置
{
如果(值>0&&值<101)
{
m_quiz1=数值;
}
其他的
{
m_quiz1=0;
}
}
}
另见:
- -MSDN