声明一个公共变量会导致所有内容都具有“此上下文中不存在名称”错误[关闭]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了声明一个公共变量会导致所有内容都具有“此上下文中不存在名称”错误[关闭]相关的知识,希望对你有一定的参考价值。

    using System;

namespace GridSim
{
    class Program
    {
        static void Main()
        {

//error is right before declaring public. "} expected"
            public int h = 1;

            CreateWorld.Create();
        }
    }
}

我有另一个类在嵌套for循环中创建一个网格。这堂课是公开的。声明一个公共变量ANYWHERE IN MY PROJECT产生相同的结果。

公共变量之前的“}预期”。

“名称”(此处插入的东西)“在此上下文中不存在”,对于公共变量之后的字面意思。

我希望能够从项目的任何位置将网格的一部分设置为角色,但是这个错误阻止了我这样做。

答案

在方法内部,变量没有访问修饰符。删除public关键字。

如果此变量应该是一个字段,请将其移出方法。

声明一个公共变量ANYWHERE IN MY PROJECT产生相同的结果。

这根本不是真的。您可以在方法内声明变量,并且这些声明不能包含访问修饰符。如果您打算将此声明为字段,那么该声明只能存在于类级别,不在任何方法之外。

另一答案

你可能意味着这个;

using System;

namespace GridSim
{
  class Program
  {
    static void Main()
    {

        int h = 1;

        CreateWorld.Create();
    }
  }
}

你可能也意味着这个:

using System;

namespace GridSim
{
  class Program
  {
    private int _h = 1;
    public int H{
      get{ return _h; }
      set{ _h = value; }
    }

    static void Main()
    {

        CreateWorld.Create();
    }
  }
}

编码标准各不相同,但通常属于类范围的私有变量(在类范围中声明,未在方法范围中声明)以下划线开头。公共变量和属性通常以大写字母开头。我们现在也倾向于不使用公共变量;优先选择属性。事实上,那里的形式相当陈旧,宣称一个私人成员和一个获取和设置访问它;简写public int H{ get; set; }更常见,其余的代码使其工作在幕后填补

最后,您必须记住,您看到的错误只是计算机解析您所写内容的最佳解释。如果你写了一些它没想到的东西,那么它会在其他地方引起错误;这不一定是因为其他地方都有错误,只是你写的第一件事不正确导致编译器错误地处理文件的其余部分。例如,在一个特定的地方放一个太多}可能意味着一个方法内部的所有代码突然出现在一个类中,这将在整个地方生成语法错误

在你学习的同时期待这些事情;当你获得更多经验并学习语言的布局时,它就会消失

以上是关于声明一个公共变量会导致所有内容都具有“此上下文中不存在名称”错误[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Python 类中的变量范围

XML模式 - “此上下文中不支持的元素”

绑定属性消息在此上下文中不支持值 mtom

Scala 系列—— 类和对象

对象与类,private与setget

声明具有所有虚函数的类的对象