我有一个简单的类调用myClass,它有一个名为isAuthenticated的属性,代码如下:
public class myClass
{
public myClass()
{
this.isAuthenticated = false;
}
public bool isAuthenticated
{
get { return isAuthenticated; }
set { isAuthenticated = value; }
}
}
Run Code Online (Sandbox Code Playgroud)
当我在课堂上初学时,我在set {...}行上获得了一个stackoverflow,我做错了什么?
kro*_*old 13
getter/setter正在调用自己.添加成员变量.
{
bool isAuthenticated;
public myClass()
{
IsAuthenticated = false;
}
public bool IsAuthenticated
{
get { return isAuthenticated; }
set { isAuthenticated = value; }
}
}
Run Code Online (Sandbox Code Playgroud)
因为您正在设置myClass.IsAuthenticated属性本身.
您必须将值保存在本地变量中,或者如果您使用C#3.0或更高版本,只需执行(自动属性)
public bool IsAuthenticated {get; set;}
Run Code Online (Sandbox Code Playgroud)