c# - 通过名称访问静态变量

标签 c# unity-game-engine static ref

我正在编写一些 Unity C# 脚本。

public class SomeClass {    
     public static float radius;
}    

我有一个带有很多静态变量的(我知道静态变量可能是一个坏习惯,但我不是实现这些静态变量的人,我需要使用它们)。

在另一个脚本中,我需要更改这些变量的值。 因此,我使用 SomeClass.radius = val 访问它们,但我想使用它们的名称访问它们:

SomeFunction(string name) { theVariableCorespondingToTheName = val }

这看起来微不足道,但无法弄清楚如何使其工作(我是 C# 新手)。我是否需要一个函数来返回包含我的 static 字段的 class 中变量的引用?

最佳答案

显然,具有大量静态的设计可以改进。但是,您似乎无法直接控制它,因此这里有一种使用反射来完成您所需的方法:

typeof(SomeClass).GetField("radius").SetValue(null, val);

关于c# - 通过名称访问静态变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29622433/

相关文章:

c# - 连接打开时 Firebase SSE 发送整个 json 文件

android - Unity 4.6 InputField 不能在 android 上稳定运行

unity-game-engine - 协程运行时应用程序/游戏完全卡住

c# - 作为通用值的结构数组

c# - 如何使 "new ASCIIEncoding().GetBytes(usernamePassword)"读取 "§"符号

c# - 加解密

在 https 下提供的 Django 管理静态文件

css - Nginx pod 不提供 css 文件

iphone sqlite 静态链接?

c# - 如何将 ThreadPool.QueueUserWorkItem 与非静态方法一起使用?