我正在编写一些 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/