¿Conjunto privado o miembro privado?

Me preguntaba qué se considera la mejor práctica de C #, ¿miembros privados / protegidos con captadores públicos o captadores públicos con setters privados / protegidos?

       public int PublicGetPrivateSetter
       {
            get;
            private set;
        }
        private int _privateMember;

        public int PublicGetPrivateMember
        {
            get { return _privateMember; }
        }

Creo que el uso de un miembro privado es más explícito en su código que un configurador privado (usando convenciones de nomenclatura). Por otro lado, el uso de setters privados le da la opción de usar virtual (protegido), escribir menos código, tiene menos espacio para errores y puede darle una opción para agregar un efecto secundario más adelante si es necesario.

No pude encontrar lo que se considera una mejor práctica, o incluso si uno se considera mejor que el otro. Por lo que he visto, generalmente el 80% del tiempo (del código que he visto) las personas NO usan setters privados ... No estoy seguro de si esto se debe a que la gente no sabe sobre setters privados, o porque es se considera mejor usar miembros privados.

EDITAR

Indeed, otros beneficios que olvidé al usar miembros privados son los valores predeterminados y el uso de solo lectura.

Respuestas a la pregunta(7)

Su respuesta a la pregunta