Estou pensando, uma vez que muitas coisas podem ser feitas usando reflexão, posso alterar um campo somente leitura privado depois que o construtor concluiu sua execução?
(nota: apenas curiosidade)
public class Foo
{
private readonly int bar;
public Foo(int num)
{
bar = num;
}
public int GetBar()
{
return bar;
}
}
Foo foo = new Foo(123);
Console.WriteLine(foo.GetBar()); // display 123
// reflection code here...
Console.WriteLine(foo.GetBar()); // display 456
fonte