Dziś wpis poruszający tematykę metod wirtualnych, który jest skierowany raczej dla początkujących programistów choć nie ukrywam, że ja sam stosunkowo późno pojąłem to zagadnienie. Dlaczego więc o tym piszę? Tak jak przy okazji jednego z moich pierwszych postów (link macie tu) do podjęcia tematu sprowokował mnie Resharper, który to ostatnio wyświetlił mi taki oto komunikat: Virtual member call in constructor Całe szczęście, że R# bacznie czuwał nad moimi poczynaniami, ponieważ przez pomyłkę mogłem...
Sztuka programowania 3101 dni, 17 godzin, 21 minut temu 304 źrodło rozwiń
Poprzedni wpis dotyczył cyklu życia strony w ASP.NET. Był związany z pytaniem, które trafiło mi się na jednej z rozmów kwalifikacyjnych. Po ukończeniu tamtego posta, zaczęły mi się przypominać również inne pytania. Stwierdziłem, że przez następne kilka tygodni będę tutaj na blogu zadawał jedno z takich pytań i starał się je rozwiązać, rozwiewając wszelkie wątpliwości. Pytanie brzmiało: jaka jest różnica pomiędzy słowem new, a słowem override? Zaczynając od przykładu: class Program { stat...
Sztuka programowania 3739 dni, 13 godzin, 27 minut temu 452 źrodło rozwiń
Kiedyś pisałem o modyfikatorze sealed i dlaczego warto go używać jeśli chodzi o kwestie dobrych praktyk. Podobne mam zdanie co do modyfikatora virtual – używam wyłącznie jak mam takie wymagania. Zawsze zaczynam od najbardziej restrykcyjnych modyfikatorów. Klasy deklaruję jako sealed internal, a metody jako private. Nie zaznaczam metod jako virtual “na zapas”, ponieważ skoro nie są one zaprojektowane pod tym kątem to może przynieść to więcej kłopotów niż korzyści. Analogiczne zasady stosuje się np. w bezp...
Sztuka programowania 3991 dni, 8 godzin, 10 minut temu 262 źrodło rozwiń