¿Puedo establecer una propiedad privada a través de la reflexión?
public abstract class Entity
{
    private int _id;
    private DateTime? _createdOn;
    public virtual T Id
    {
        get { return _id; }
        private set { ChangePropertyAndNotify(ref _id, value, x => Id); }
    }
    public virtual DateTime? CreatedOn
    {
        get { return _createdOn; }
        private set { ChangePropertyAndNotify(ref _createdOn, value, x => CreatedOn); }
    }
}
He intentado lo siguiente y no funciona, donde trepresenta un tipo de Entity:
var t = typeof(Entity);
var mi = t.GetMethod("set_CreatedOn", BindingFlags.Instance | BindingFlags.NonPublic);Creo que puedo hacer esto, pero no puedo resolverlo.
                    
                        .net
                                reflection
                                properties
                                private
                                
                    
                    
                        AwkwardCoder
fuente
                
                fuente

Respuestas:
EDITAR: Dado que la propiedad en sí es pública, aparentemente no necesita usarla
BindingFlags.NonPublicpara encontrarla. Llamar aSetValuepesar de que el setter tiene menos accesibilidad sigue haciendo lo que espera.fuente
Sí lo es:
fuente
Puede acceder al setter privado desde el tipo derivado a través del código
fuente
Ninguno de estos funcionó para mí, y el nombre de mi propiedad era único, así que solo usé esto:
fuente
fuente