Szybkie pytanie: Kiedy decydujesz się używać właściwości (w C #), a kiedy decydujesz się na metody?
Jesteśmy zajęci tą debatą i znaleźliśmy pewne obszary, w których jest dyskusyjne, czy powinniśmy użyć właściwości, czy metody. Oto jeden przykład:
public void SetLabel(string text)
{
Label.Text = text;
}
W tym przykładzie Label
jest kontrolką na stronie ASPX. Czy istnieje zasada, która może regulować decyzję (w tym przypadku), czy uczynić z tego metodę czy właściwość?
Przyjmę odpowiedź, która jest najbardziej ogólna i wyczerpująca, ale dotyczy również podanego przeze mnie przykładu.
if()
kontrole (zgodnie z MSDN). Jest to jednak trudne, ponieważ użytkownik nie zawsze jest świadomy kosztu przetwarzania związanego z dostępem do zmiennej (właściwości) (tj. Kod nie jest dostępny) i ze względów ścisłych należałoby porównać tę właściwość. Aha, i "bonus", którego nie można używać wskaźników z właściwościami.