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.
7 }
8 [CompilerGenerated]
9 set
10 {
11 this.
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.
Founder of Octal Solutions a .NET software house.
Passionate dev, blogger, occasionally speaker, one of the leaders of Wroc.NET user group. Microsoft MVP. Podcaster – Ostrapila.pl