代码之家  ›  专栏  ›  技术社区  ›  Chance

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

  •  20
  • Chance  · 技术社区  · 16 年前

    是否仍要在尚未初始化的对象上设置静态(私有)变量的值?这个 SetValue 方法需要一个实例,但我希望有一种方法可以解决这个问题。

    2 回复  |  直到 7 年前
        1
  •  44
  •   Tom    7 年前

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

    var type = typeof(SomeClass);
    var field = type.GetField("SomeField", BindingFlags.NonPublic | BindingFlags.Static);
    field.SetValue(null, 42);
    
        2
  •  1
  •   John Boker    16 年前

    您可以创建一个公共的静态函数并使用它来设置您的私有静态变量吗?