我正在写一些菜单代码,这会导致菜单之间的淡入/淡出,我遇到了一个小障碍,我通常会犯最容易修复的错误,但似乎从来没有发现我自己的鼻子下有什么问题看看,告诉我我是多么愚蠢。
public override float Alpha
{
get
{
return Alpha;
}
set
{
Alpha = value;
if (alpha == 1.0f)
{
increase = false;
}
else if (alpha == 0.0f)
{
increase = true;
}
}
}
这就是代码和完整的错误消息 - 一个未处理的类型' System.StackOverflowException'发生在Platformer.exe
答案 0 :(得分:2)
检查您的大小写。你打算写:
public override float Alpha
{
get
{
return alpha;
}
set
{
alpha = value;
// more code...
}
}
你写它的方式,Alpha首先称自己为自己。哪个会先称呼自己。哪个...你得到的模式:)
答案 1 :(得分:0)
如果alpha是私有字段的名称,那么在写入
get
{
return alpha;
}
并在setter中设置私有字段为:
set
{
alpha=value;
}
之后写下其他代码。