Często musimy implementować interfejs INotifyPropertyChanged. Szczególnie w przypadku wykorzystania wzorca MVVM oraz WPF. Najczęściej programiści wykorzystują podstawową implementację i przekazują nazwę parametru jako czysty string np:if(PropertyChanged!=null) { PropertyChanged(this,new PropertyChangedEventArgs("propName")); } Wszystko działa bardzo dobrze, dopóki nie zmienimy nazwy właściwości. Przede wszystkim należy wtedy pamiętać o zaktualizowaniu wszystkich wywołań ProperyChanged. Nie możemy po...
Strona głównaUżytkownik
paduda | użytkownik
autor: Hawkeye .NET Runtime Object Editor to program, który znalazłem w sieci dobre dwa lata temu. W tym czasie wielokrotnie mi się przysłużył, a jest przydatny w szczególności tym, którzy pracują z technologią Windows Forms. W skrócie, pozwala modyfikować UI działającej aplikacji. Jego użycie jest proste. Wskazujemy myszką interesujący nas fragment aplikacji, a Hawkeye oznacza wybraną kontrolkę przy pomocy czerwonej ramki i wyświetla listę właściwości i prywatnych pól klasy, których wartości może...
autor: Chciałbym zapoczątkować nową świecką tradycję na moim blogu. Pokusiłem się o nagranie 2 minutowego filmiku na którym prezentuje jak uruchamiać jedno zapytanie na wielu serwerach przy użyciu SQL Server Management Studio. Moim celem jest dzielenie się prostymi, aczkolwiek mam nadzieję, że przydatnymi "pomysłami" w jak najkrótszym czasie antenowym. Poniżej przykładowy filmik. Zachęcam do poświęcenia 140 sekund na obejżenie tego filmiku i oczywiście proszę o komentarze na temat takiej formy knowledge ...
Bazy danych i XML 178 dni, 10 godzin, 14 minut temu 206 rozwiń
Autor: Nie tak dawno przedstawiłem na spotkaniu Łódzkiej grupy profesjonalistów IT & .NET prezentację poświęconą „Wprowadzenie do Reactive Extensions (RX) dla .NET” (patrz informacja: Zapraszam na prezentację: "Wstęp do Reactive Extensions dla .NET (RX)"). Tych, którzy chcieliby się zapoznać z prezentacją lub kodem źródłowym, który powstał podczas prezentacji, zapraszam do obejrzenia mojej prezentacji umieszczonej na portalu SlideShare....
Programowanie rozproszone 186 dni, 18 godzin, 3 minuty temu 216 rozwiń
Dawno dawno temu było…Reflector i długo długo nic (de facto na początku był jest ildasm ale nie o nim dziś). Na szczęście pewnego lutowego dnia pojawiła się informacja, że już niedługo nie będzie on dostępny za darmo i się zaczęło. Flame’y, groźby i krzyki :). Stało się też sporo dobrego bo o to na rynku pojawiły się alternatywy. Ilspy, dotPeek oraz JustDecompile. Przyjrzyjmy się im z bliska i zobaczmy co mają do zaoferowania. Reflector - umarł król...Reflector to zdecydowanie n...
autor: Czasami się zdarza, że ktoś wysyła do mnie maila z zapytaniem o radę. Rzadziej się zdarza, że ktoś wysyła maila i podaje nie istniejący adres e-mail. Tak się zdarzyło teraz. 2h odpowiadania na maila by się dowiedzieć iż sorry ale adres e-mail nie istnieje. Tak więc by moja praca nie poszła na marne, zamieszczam tutaj zarówno pytania jak i odpowiedzi także zachęcam do komentowania :)
autor: Jestem w trakcie tworzenia aplikacji na WP7 wykorzystującej mapy Bing do zaprezentowania trasy zbudowanej w oparciu o współrzędne pobrane z GPS. Niby nic wielkiego, jednak w sieci nie udało mi się znaleźć żadnego sensownego i działającego przykładu, co było bezpośrednim przyczynkiem do powstania tego wpisu. Po przekopaniu się przez dokumentację, stworzyłem prosty kod, wyświetlający na mapie “wężyka”, obrazującego trasę między zadanymi współrzędnymi. W XAML-u za dużo nie zrobimy. Cała magia dzieje ...
autor: Jakiś czas temu pracując z IntelliTrace próbowałem zdefiniować zdarzenie diagnostyczne dla pewnej metody. Dla ustalenia uwagi niech jej sygnatura wygląda tak, jak poniżej. string Flip(string s) Moim celem było, aby opis zdarzenia zawierał wynik zwrócony przez metodę oraz wartość argumentu s. Inaczej mówiąc, aby w oknie IntelliTrace Events View w Visual Studio 2010 zdarzenie zarejestowane dla wywołania metody z argumentem s="Hello" i wynikiem "olleH" wyglądalo tak: "olleH" Flip("Hello") O defin...
autor: Obudziłem się, jak zawsze 1 września, z lekkim niepokojem. Ale wyglądam przez okno i czołgów nie widzę, więc zakładam, że ponownie nam się upiekło. I można zacząć na poważne myśleć o październiku.
autor: W dwóch poprzednich artykułach na temat zarządzanych komponentów COM+ pisałem, że instaluje się je przy użyciu narzędzia regsvcs.exe. Tak oczywiście jest, ale ostatnio ku swojemu zaskoczeniu zauważyłem, że jest to opcjonalne. Jeśli nie zainstalujemy takiego komponentu z poziomu konsoli (np.: regsvcs.exe MyComponent.dll) to zostanie on zainstalowany automatycznie przy pierwszym wywołaniu jego konstruktora. [assembly: ApplicationName("MyComponent")] [assembly: ApplicationActivation(...
Nowy mobilny system operacyjny Microsoftu – Windows Phone, ujrzał światło dzienne pod koniec 2010 roku. Mimo iż jest dobrze przemyślany i zaprojektowany, nie podbił serc użytkowników, co bezpośrednio przełożyło się na kiepskie wyniki sprzedaży. Rok po wydaniu WP7, Microsoft szykuje się do premiery pierwszej dużej aktualizacji systemu Windows Phone, mającej odbyć się we wrześniu (pierwsze urządzenia z Mango są już dostępne na rynku japońskim). Do Polski Mango prawdopodobnie zawita w październiku. Mimo bra...
Mobile development 255 dni, 13 godzin, 31 minut temu 159 rozwiń
Czasami potrzeba dodać atrybuty do właściwości/metod klasy, która została stworzona automatycznie przez jakiś designer (na przykład przez ORM). Modyfikowanie klasy bezpośrednio nie ma sensu, ponieważ może ona zostać nadpisana i nasze zmiany zostaną niestety utracone. Atrybuty takie można określić w oddzielnym pliku. Czyli na przykład zamiast:using System; using System.ComponentModel.DataAnnotations; using System.Web.Mvc; public class Product { [HiddenInput(DisplayValue=false)] public i...
autor: Po powrocie z urlopu wgrałem na telefon system Mango 7712, o którym w ostatnim poście wspominałem. Mimo dość długiej książeczki instrukcji i wielu ostrzeżeń w niej zawartych wszystko poszło według planu. Na całość procesu złożyło się: instalacja narzędzi Beta 2 Refresh i specjalnej wersji Zune, pobranie najnowszych poprawek, zrobienie backupu urządzenia oraz instalacja 3 aktualizacji (pierwsza dla umożliwienia aktualizacji, druga - do wersji 7043, trzecia - do wersji 7712). Jedyna rzecz, o której ...
Mobile development 256 dni, 18 godzin, 16 minut temu 35 rozwiń
autor: Windows Phone wciąż do przodu! Dziś podzielę się tym, co zwróciło moją uwagę w najnowszym toolkicie. Następny post poświęcę najnowszemu SDK. Kierując się kolejnością chronologiczną zacznę od Windows Phone Toolkit – August 2011 (SDK 7.1). Dostajemy wraz z nim wiele nowych fajnych kontrolek i udogodnień, których nieraz po prostu brakowało. Najlepiej odpalić je i zobaczyć w działaniu. Moją uwagę zwróciły w szczególności następujące elementy: MultiselectList Wybór wielu elementów z listy, zachowanie ...
Mobile development 256 dni, 18 godzin, 16 minut temu 42 rozwiń
autor: Napiszę teraz trochę o nowym Windows Phone SDK 7.1 RC. Zacznę od dwóch elementów, które na pewno występowały już w niepublicznym Beta 2 Refresh. Są to: Screenshot tool Oprócz narzędzia do screenshotów z Windows 7 możemy teraz używać dedykowanego narzędzia dostarczanego z emulatorem. Marketplace Test Kit Zbiór testów, którymi są poddawane aplikacje wrzucane na Marketplace. Dzięki temu znacznie spada prawdopodobieństwo “niespodzianki” po wysłaniu aplikacji, developer może poddać weryfikacji swoją ...
autor:W tym poście wrócę do tematu aplikacji modelu COM+ napisanych w kodzie zarządzanym, który to poruszyłem w poprzednim artykule. Tym razem chciałbym zwrócić uwagę na problem wersjonowanie takich komponentów. Upraszczając, chodzi o różnicę pomiędzy katalogiem, z jakiego komponent został zainstalowany w systemie, a katalogiem, w którym znajduje się biblioteka z komponentem jakiej używa dana aplikacja. W szczególności mogą to być inne katalogi np.: c:\Install oraz c:\bin. W takim ...
autor: We wpisie chciałem zwrócić uwagę na ważną sprawę, która nie jest taka oczywista: wywołanie metody FormsAuthentication.RedirectToLoginPage NIE kończy przetwarzania danej strony (informacja o tym została dodana do dokumentacji dopiero w wersji 3.5 w maju 2010)! Załóżmy, że użytkownik nie generuje ruchu na stronie przez jakiś czas, wystawiony ticket wygasa. Następnie np. naciska na submit buttona lub sortuje grida (triggeruje postback) – poniższy handler (i wszystko inne – walidacja, eventy) wykona s...
Lista (aktualizowana) screencastów programistycznych. Nie tylko .NET, ale warte przyjrzenia się.
Test jednostkowy to nic innego jak kod wykonujący inny kod w kontrolowanych warunkach. Jego zadaniem jest weryfikacja (bez ingerencji programisty), że testowany kod działa poprawnie. Robi to w sposób dość banalny: autor testu dostarcza dane wejściowe (input), test wykonuje pewne instrukcje i sprawdza, czy rezultat działań (output) zgodny jest z oczekiwaniami. W świecie idealnym każdy test bada jedną ścieżkę wykonania jednej metody. Czy jednak jedyną rolą testów jednostkowych jest sprawdzenie działania ...
Architektura 275 dni, 32 minuty temu 278 rozwiń
Programiści .NET nie mogą narzekać na brak narzędzi i bibliotek wspomagających pisanie testów jednostkowych. Zanim przejdziemy jednak do zerkania w ich kierunku, zobaczymy jak można samemu, bez zewnętrznych zależności, rozpocząć pisanie testów. Testować będziemy taką banalną klaskę, której zadaniem jest obliczenie "ile złotych polskich dostanie polski hydraulik Waldek za przywiezione zza zachodniej granicy jełro"...
Polecamy
Ostatnio na blogu
Podsumowanie #5 - tydzień 2...
Najaktywniejsi
