Być może będzie to coś co wszyscy wiedzą, ale w C# możemy zdefiniować inną widoczność dla settera lub gettera danej property – i tak możemy mieć publiczny getter i chroniony (protected) setter. Dzięki temu ustawiać wartość będą mogły wszystkie klasy dziedziczące z naszej, natomiast odczytywać wartość będą mogli wszyscy. Co ciekawe, można ustawiać widoczność tylko dla setter’a lub getter’a. Gdy ustawimy dla obu dostaniemy błąd od kompilatora.
public string Field
{
get
{
return field;
}
protected set
{
field = value;
}
}
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