29

无论如何要在尚未初始化的对象上设置静态(私有)变量的值?该SetValue方法需要一个实例,但我希望有办法解决这个问题。

4

2 回答 2

55

对于静态值,您可以为实例参数传递 null。

var type = typeof(SomeClass);
var field = type.GetField("SomeField", BindingFlags.NonPublic | BindingFlags.Static);
field.SetValue(null, 42);
于 2010-02-04T22:01:31.200 回答
1

你能创建一个公共的静态函数并用它来设置你的私有静态变量吗?

于 2010-02-04T22:02:21.303 回答