Estoy seguro de que he visto que puedo hacer lo siguiente utilizando un atributo sobre mi método Init(), que le dice al compilador que el método Init() solo debe invocarse desde el constructor, permitiendo así el readonly campo que se establecerá. Sin embargo, olvidé cómo se llama el atributo, y parece que no puedo encontrarlo en google.¿Cómo configuro un campo de solo lectura en un método de inicialización que se llama desde el constructor?
public class Class
{
private readonly int readonlyField;
public Class()
{
Init();
}
// Attribute here that tells the compiler that this method must be called only from a constructor
private void Init()
{
readonlyField = 1;
}
}
parámetros de salida, yuk! –
@Chuck: Oye, nunca dije que fuera bonita. –
Lo resolví usando Reflection. Ver abajo ... – Derar