He leído que hay buenas razones para usar propiedades en lugar de campos en C# en SO. Así que ahora quiero convertir mi código de usar campos a usar propiedades.¿Existe alguna manera elegante de establecer un valor predeterminado para una propiedad en C#?
Para un campo de instancia de una clase, puedo establecer un valor predeterminado. Por ejemplo:
int speed = 100;
para la propiedad equivalente, que creo que es:
int Speed { get; set; }
Mi entendimiento es que la propiedad de velocidad será inicializado a cero cuando se crea una instancia de la clase. No he podido averiguar cómo establecer un valor predeterminado para actualizar fácilmente mi código. ¿Hay alguna manera elegante de proporcionar un valor predeterminado para una propiedad?
Parece que debe haber una manera elegante de hacer esto, sin usar un constructor, pero no puedo averiguar cómo.
¿Qué hay de malo en usar un constructor? ¿O usar una propiedad con un campo de respaldo definido manualmente en lugar de una propiedad automática? –
Facilitaría mi tarea de conversión si puedo cambiar el campo a una propiedad en el mismo lugar donde el campo fue declarado previamente. Usando un constructor necesitaría desplazarme por mi código para hacer el cambio. No sabía que podría usar un campo de respaldo que se inicializó. –
Nuevo en C# 6: [Inicializadores para auto-propiedades] (https://github.com/dotnet/roslyn/wiki/New-Language-Features-in-C%23-6#auto-property-enhancements) –