Podczas przygotowywania kolejnego posta z serii "Samples" zaimplementowało mi się coś bardzo fajnego, co chyba zasługuje na osobną notkę. Oto zatem kolejna krótka demonstracja potęgi połączonych mechanizmów C# (v. 2 i 3). Scenariusz: mamy formatkę wypełnioną panelami, groupboxami, layoutami i wszystkimi innymi kontenerami jakie tam jeszcze Bozia z Redmond na toolbox wrzuciła. Nachodzi nas chętka na wykonanie pewnej operacji na WSZYSTKICH kontrolkach zawartych w oknie, niezależnie od tego gdzie ... [More]

Partial classes & partial methods - explained

28 sierpnia 2008 19:15 w kategorii: pro
Tagi: , , ,
...far far away... Bohaterami dzisiejszego spotkania są dwa współpracujące ze sobą twory (Bolki?), różniące się znacząco wiekiem. Partial classes (klasy częściowe...) zostały wprowadzone do .NET za czasów wersji 2.0 zarówno platformy .NET jak i języka C#. Partial methods z kolei to "najnowsza nowość", bowiem przyjście na świat tej konstrukcji miało miejsce zaledwie kilka miesięcy temu, wraz z .NET 3.5, C# 3.0, LINQ, lamda, extensions itpm (i tym podobną magią). O ile jednak całe jej "rodzeństwo... [More]

Jedyny przypadek gdy GOTO nie jest FUJ

22 sierpnia 2008 08:42 w kategorii: pro
Tagi: ,
Jedna z zasad, której młodzi programiści uczą się na początku swojej kariery (żeby nie powiedzieć "wysysają z mlekiem swojego nauczyciela") brzmi: "instrukcja GOTO w językach programowania poziomu wyższego niż asembler istnieje po to i tylko po to, aby świadomie ignorować jej egzystencję" Prawda? I co tu dużo gadać, ciężko się z tą teorią nie zgodzić. Jedyne do czego prowadzi używanie tej instrukcji to powstanie tzw "unmaintable spaghetti code". Chyba że...Jest moim zdaniem jeden scenariusz, ... [More]

Czas na drugi odcinek serialu pod tytułem "Wymyślże jakiś problem i zaproponuj jego rozwiązanie". Poprzedni post zgromadził pod sobą interesujące wg mnie komentarze, jak będzie tym razem? Postaram się także zastosować do zawartych tamże sugestii co do formy przedstawienia swojego pomysłu. Przedstawienie problemu Dzisiaj zajmę się kwestią "dorabiania GUI" do już istniejących aplikacji konsolowych. "A po cóż owo cuś czynić?", zakrzyknąć ktoś może w niezmiernym zdziwieniu. A więc po pierwsze: bo ... [More]

Oto trzy przykładowe scenariusze, które wykorzystują moc daną nam przez Andersa Hejlsberga i spółkę:1. Sprawdzenie, czy wszystkie textboxy są wypełnionePrzykładzik banalny i w wielu sytuacjach niepraktyczny, ale ładnie prezentujący wygodę pisania kodu "the 3.0 way".Stary kod: 1: private bool AreAllTextboxesFilledOldWay() 2: { 3: foreach (Control c in this.Controls) 4: { 5: TextBox tb = c as TextBox; 6: if (tb == null) 7: continue; 8: 9: if (tb.Text == string.Empty) ... [More]