Implementando intefaces con propiedades auto-implementadas en C#

Sé que odias cuando estás implementando una interfaz con algunas propiedades, usas Crtl + . y presionas Implement interface y obtienes un get y set con throw NotImplementedException ();

Veamos a lo que me refiero con un ejemplo, tienes la siguiente interfaz:

public interface IAuditable
{
    DateTime CreatedDate { get; set; }
    String CreatedBy { get; set; }
    DateTime UpdatedDate { get; set; }
    String UpdatedBy { get; set; }
}

Ahora, quieres implementar la interfaz en una clase. Con Ayuda de Visual Studio utilizas Ctrl + . haces clic en Implement interface y esto es lo que obtienes:

public class MyEntity: IAuditable
{
    public DateTime CreatedDate { get => throw new NotImplementedException(); set => throw new NotImplementedException(); }
    public string CreatedBy { get => throw new NotImplementedException(); set => throw new NotImplementedException(); }
    public DateTime UpdatedDate { get => throw new NotImplementedException(); set => throw new NotImplementedException(); }
    public string UpdatedBy { get => throw new NotImplementedException(); set => throw new NotImplementedException(); }
}

Pero, ¿cómo podemos cambiar este comportamiento por defecto? Bueno, en Visual Studio 2019 ve al menú Tools > Options… > Text Editor > C# > Advance y en el grupo Implement Interface or Abstract Class, selecciona When generating properties: prefer auto properties

Mostra las Opciones de Visual Studio 2019 para configurar propiedades autoimplementadas cuando estas implementando una interfaz

La próxima vez que implementes la misma interfaz de la misma manera, se hará de la siguiente forma:

public class MyEntity: IAuditable
{
    public DateTime CreatedDate { get; set; }
    public string CreatedBy { get; set; }
    public DateTime UpdatedDate { get; set; }
    public string UpdatedBy { get; set; }
}

Esto te puede ayudar a ahorrar tiempo porque la mayoría de las veces solo necesitas propiedades autoimplementadas.

Deja una respuesta