名称“xx”在当前上下文中不存在

本文关键字:上下文 不存在 xx 名称 | 更新日期: 2023-09-27 18:31:04

我的程序不断收到错误"名称"ok"在当前上下文中不存在。我做错了什么?

namespace Game
{
    class Program
    {
        static bool SelfTest()
        {
            bool ok = GameModel.SelfTest();
            if (ok)
                System.Diagnostics.Debug.WriteLine("Succeded");
            else 
                System.Diagnostics.Debug.WriteLine("Failed");
            return ok;
        }
        static void Main(string[] args)
        {
            bool ok = SelfTest();
        }
    }
}
namespace Game
{
    class GameModel
    {
        public static bool SelfTest()
        {
            ok = true;
            return ok;
        }
    }
}

名称“xx”在当前上下文中不存在

您只清除了Game.Program.SelfTest()Game.Program.Main中的布尔ok,而不是Game.GameModel.SelfTest()中的布尔。
请改用以下代码(或者您可能只想使用 return true):

namespace Game
 {
   class GameModel
   {
    public static bool SelfTest()
    {
        bool ok = true;

        return ok;
    }
  }
}

您尚未在此处声明ok

public static bool SelfTest()
{
    ok = true; // should be bool ok = true;

    return ok;
}

GameModel类中,您引用的是一个未声明的变量。

要解决此问题,您只需更改此设置:

public static bool SelfTest()
{
    ok = true;
    return ok;
}

对此:

public static bool SelfTest()
{
    bool ok = true;
    return ok;
}

更改

public static bool SelfTest()
{
    ok = true;
    return ok;
}

public static bool SelfTest()
{
    bool ok = true;
    return ok;
}

或者也许只是

public static bool SelfTest()
{
    return true;
}