使用Reflection在对象初始化之前设置静态变量值?

时间:2010-02-04 21:58:59

标签: c# reflection c#-2.0 system.reflection

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

2 个答案:

答案 0 :(得分:45)

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

var type = typeof(SomeClass);
var field = type.GetField("SomeField", BindingFlags.NonPublic | BindingFlags.Static);
field.SetValue(null, 42);

答案 1 :(得分:1)

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