C# 使类返回其实例而不带函数或变量

标签 c# function unity-game-engine single-instance

所以我在 Unity 中使用具有单个实例的类已经有一段时间了,通常会这样做:

class PublicThings {
    public static PublicThings I; // instance of this class
    public int Score;
    void Start { I = GetComponent<PublicThings>(); }
}

用法:PublicThings.I.Score = 10;

效果非常好。但是,我很好奇是否可以返回类的实例,而不必在类后键入 .I

所以基本上它看起来是这样的:

PublicThings.Score = 10;

This question似乎它是相关的,但我很难让它工作。

这可能吗?如果是的话,该怎么做?

最佳答案

三个选项可以完成您想做的事情:

  1. 在 PublicThings 类中使用 static 关键字创建静态属性/字段
  2. 创建 ScriptableObject并将其附加到调用它的项目 ( video tutorial )
  3. 利用 Singleton Pattern (我建议在尝试其他两种方法之前避免使用此方法)

另外值得注意的是,单例模式并不一定能解决您的问题。您仍然需要调用类似 PublicThings.instance.Score 的内容。

希望这有帮助。

关于C# 使类返回其实例而不带函数或变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61734575/

相关文章:

c# - 在企业应用程序中使用C#XSD类型数据集的最佳实践

创建 4 个推送到数组的随机数的 JavaScript 函数?

Android返回键,退出项目

c# - 应用 'bouncy' 物理 Material 后,我无法让我的玩家统一跳跃相同的高度

input - Unity3d模拟GetAxis

c# - 在哪里可以找到 System.Numerics.BigInteger 的源代码?

c# - 使用 Moq 测试接受委托(delegate)的方法

c# - 工作单元/存储库模式和使用 EF 更新实体

Javascript:缓存的函数属性与新值

c++ - 返回 lambda 表达式的函数