访问非静态成员需要对象引用

本文关键字:对象引用 静态成员 访问 | 更新日期: 2023-09-27 18:35:13

好的,所以我不太擅长C#编程,所以这可能是一个愚蠢的问题。我手里有别人做的游戏,他有一个口号的东西。我将口号更改为随机选择的口号列表,不再使其静态。

using UnityEngine;
using System.Collections;
public class GameVersion : MonoBehaviour {
public const float AsFloat = 0.6f;
public const string AsString = "alpha v0.2.5";
public string Slogan = randomSlogan[new Random().Next(0,randomSlogan.Length) ];
string randomSlogan = {
    "3000",
    "bananas",
    "now with sand"
};
}

但是,我收到错误"访问非静态成员'Gameversion.Slogan'需要对象引用",我把它放在这里

    GUI.Box(pos,"");
    GUILayout.BeginArea(pos);
    //Game version and slogan
    GUIStyle version = new GUIStyle(GUI.skin.label);
    version.fontSize = 60;
    version.fontStyle = FontStyle.Bold;
    GUILayout.Label(GameVersion.AsString,version);
    GUILayout.Label(GameVersion.Slogan); //Right here.

我看到了具有相同问题的其他结果,但是我一直很难将其放入我的代码中。任何人都可以提出适合这里的解决方案吗?谢谢!

另外,对不起,如果我发布的代码很少或很多!

访问非静态成员需要对象引用

你需要让你的类静态化,或者创建一个 GameVersion 类的实例:

GameVersion instance = new GameVersion();
GUILayout.Label(instance.Slogan);

根据我的经验,创建实例通常是可取的。