C# 命名空间不能直接包含成员

C# 命名空间不能直接包含成员,c#,unity3d,C#,Unity3d,我对统一和编码(特别是c#)非常陌生,当我在移动中工作时,我不断地遇到这个错误。我试着研究和寻找其他问题,但不确定该怎么办,所以如果你能帮助我,那将是非常有帮助的 您需要将代码包装到类中 public class NewBehaviorScript : MonoBehaviour { public float forwardForce = 2000f; ...etc } 您可以在此处了解有关名称空间的更多信息 你的代码是这样的 public class NewBehaviorScr

我对统一和编码(特别是c#)非常陌生,当我在移动中工作时,我不断地遇到这个错误。我试着研究和寻找其他问题,但不确定该怎么办,所以如果你能帮助我,那将是非常有帮助的

您需要将代码包装到类中

public class NewBehaviorScript : MonoBehaviour
{
   public float forwardForce = 2000f;
   ...etc
}
您可以在此处了解有关名称空间的更多信息

你的代码是这样的

public class NewBehaviorScript : MonoBehaviour
    { }
       public float forwardForce = 2000f;
       ...etc

在您的情况下,类之外是名称空间,这就是编译器抱怨的原因。

您在类之外添加了属性或字段。可能是弄错了。e、 g

namespace MyNamespace
{
    //this is invalid because properties MUST be inside a class
    public string PropertyOne {get;set;}

    public class MyClass
    {
        public string PropertyTwo {get;set;}
    }
}
删除Monobhavoir后面的“}”,并将其粘贴到脚本的末尾。您的代码应该如下所示:



请您将代码作为文本发布好吗?删除“MonoBehavior”后一行中的右大括号,并将其添加到最后一行。该类为空,您在命名空间中添加了该方法。
{}
之后的
{/code>将打开和关闭您的类定义。您键入的所有其他内容随后都会直接在名称空间中,这是不允许的。将
}
移动到
更新()
}
之后,也作为对新成员的建议,请不要在图像中发布代码,这会使人们难以调试。请将其复制/粘贴到正确格式的问题中:)实际上,这不仅是一个建议,而且是使用
{}
按钮将代码作为文本格式发布的规则
    public class NewBehaviorScript : MonoBehavior
    {
        private int myVariable = 1;

        private void myMethod()
        {

        }
    }