Использование Reflection для установки значения статической переменной перед инициализацией объекта?
Есть ли способ установить значение статической (частной) переменной для объекта, который не был инициализирован? Метод SetValue требует экземпляра, но я надеюсь, что у него есть способ обойти это.
Ответ 1
Для статических значений вы можете передать значение null для параметра экземпляра.
var type = typeof(SomeClass);
var field = type.GetField("SomeField");
field.SetValue(null, 42);
Ответ 2
Вы могли бы создать статическую функцию, которая является общедоступной и использовать ее для установки вашей частной статической переменной?