Denerwowało cię pisanie publicznych Property dostępowych do pól klasy?

    1 class Customer

    2 {

    3     private string name;

    4     public string Name

    5     {

    6         get { return name; }

    7         set { name = value; }

    8     }

    9 

   10     private string department;

   11     public string Department

   12     {

   13         get { return department; }

   14         set { department = value; }

   15     }

   16 }

Mimo, iż Visual Studio 2005 przyśpiesza ten proces poprzez wprowadzenie refectoringu, który z pola w klasie jest w stanie utworzyć property za nas, to najnowszy framework idzie jeszcze dalej. Wystarczy napisać coś takiego

    1 class Customer

    2 {

    3     public string Name { get; set; }

    4     public string Department { get; set; }

    5 }

a kompilator sam wygeneruje dla nas prywatne pola w klasie. Poniżej jak wygląda kod w programie Reflector.

    1 public string Department

    2 {

    3     [CompilerGenerated]

    4     get

    5     {

    6         return this.k__BackingField;

    7     }

    8     [CompilerGenerated]

    9     set

   10     {

   11         this.k__BackingField = value;

   12     }

   13 }

Jedyne do czego można mieć zastrzerzenia to nazwy zmiennych, które kompillator generuje, nie bardzo mogą one odpowiadać naszej konwencji kodowania :-).
Na koniec jedna mała uwaga. Takie automatyczne property muszą mieć get’a i set’a. Nie zadziała to dla property typu read-only lub write-only.