¿Es una buena práctica usar el campo privado, o la propiedad, al escribir código en la clase que los contiene?Dentro de la clase contenedora, ¿usar propiedad o campo?
Por ejemplo, si tengo este par de campo/propiedad, las clases fuera de esta clase debe usar la propiedad. ¿Qué pasa con el código dentro de la clase? ¿Debería usar el campo privado, o debería pasar también por la propiedad?
private string _foo;
protected string Foo
{
get { return this._foo; }
}
private void SomeMethod()
{
string dummyVariable = "snuh" + this._foo; // So, this...
string dummyVariable = "snuh" + this.Foo; // ... or this?
}
Una ventaja de usar la propiedad aquí, es si hay alguna lógica en el captador, que seguirá recibiendo ejecutado. Tengo curiosidad por saber si hay una política de mejores prácticas para seguir aquí.
Mi ** opinión ** es que no importa (dado que su propiedad no hace nada especial) siempre y cuando sea consistente, pero tengo curiosidad por saber qué dicen los demás. – Tung
posible duplicado de [Mejores prácticas sobre el uso local de Propiedad de campo privado x] (http://stackoverflow.com/questions/833047/best-practice-on-local-use-of-private-field-x-property) – Matt
Una nota de nomenclatura: está usando incorrectamente el término "variable". En este caso, te refieres a "campo". –