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

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

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

最佳答案

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

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

关于c# - 在对象初始化之前使用反射设置静态变量值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2203545/

相关文章:

c# - 在 C# 中将 14 数字转换为 DateTime

c# - 如何监控焦点变化?

java - `String.class` 和 `new Class[]{String.class}` 有什么区别?

c# - 在解析完成之前遇到流结束?

c# - 任务并行库 (TPL) 是否处理竞争条件

c# - Windows 10 通用应用程序 - 标题栏中的按钮不起作用

.net - 从 .NET 可执行文件加载类型

java - 关于注释+类成员顺序的问题

c# - 更改文本文件中特定行中的特定文本

c# - 无效的表达式项 '>'