Ответ Дипуна может быть очень полезным. Я хотел добавить конкретный пример, чтобы помочь людям, которые приходят сюда.
Класс с закрытым статическим членом.
public class foo
{
private static int bar;
}
Код для получения значения.
PrivateType pt = new PrivateType(typeof(foo));
int bar = (int)pt.GetStaticFieldOrProperty("bar");
Код для изменения значения
PrivateType pt = new PrivateType(typeof(foo));
pt.SetStaticFieldOrProperty("bar", 10);
Это будет работать независимо от того, является ли класс статическим или нет.