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

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

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

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

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