Использование Reflection для установки значения статической переменной перед инициализацией объекта? - PullRequest
21 голосов
/ 05 февраля 2010

Есть ли способ установить значение статической (частной) переменной для объекта, который не был инициализирован? Для метода SetValue требуется экземпляр, но я надеюсь, что есть способ обойти это.

Ответы [ 2 ]

45 голосов
/ 05 февраля 2010

Для статических значений вы можете передать значение NULL для параметра экземпляра.

var type = typeof(SomeClass);
var field = type.GetField("SomeField", BindingFlags.NonPublic | BindingFlags.Static);
field.SetValue(null, 42);
1 голос
/ 05 февраля 2010

не могли бы вы создать открытую статическую функцию и использовать ее для установки вашей частной статической переменной?

...