错误消息System.StackOverflowException

时间:2014-08-24 16:19:44

标签: c# xna

我正在写一些菜单代码,这会导致菜单之间的淡入/淡出,我遇到了一个小障碍,我通常会犯最容易修复的错误,但似乎从来没有发现我自己的鼻子下有什么问题看看,告诉我我是多么愚蠢。

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

2 个答案:

答案 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;
}

之后写下其他代码。

相关问题