Rozróżnia się dwie możliwości klonowania obiektów:

Zapewne wszyscy wiedzą o istnieniu metody MemberwiseClone w klasie Object.
Pozwala ona na wykonanie tzw. “shallow copy”, czyli “płytkiej kopii” obiektu. Kopia taka nie radzi sobie jednak z typami referencyjnymi zagnieżdżonymi w klonowanym obiekcie. Potrafi poprawnie kopiować tylko Value Types.

Read more

Najprostsze rozwiązania często są w Visual Studio sprytnie ukryte. Takie czasem odnoszę wrażenie. Jedną z rzeczy, na które narzekałem przy debugowaniu np. WebService’ów czy aplikacji współdzielących niektóre zasoby był brak możliwości ustawienia jako “Startup” kilku projektów w ramach jednej solucji. Okazuje się jednak, że jest to banalnie proste..

Read more

Uzupełniam ostatnio braki w wiedzy, dotyczące synchronizacji wątków. Gdzieś w podrozdziale dotyczącym tego tematu przykuł moją uwagę Mutex. Mutex to, obok monitorów i semaforów, jedna z “prymitywnych” metod synchronizacji. Ma jednak bardzo ciekawą właściwość, odróżniającą ją od kolegów po fachu…

Read more

Promuj

Na wstępie “krótkie” wprowadzenie – opis książki, którą męczyłem przez ostatnie ładnych “kilka” dni ;)

Co uważniejsi z czytelników zauważyli malutki widget po prawej stronie – “Obecnie czytam”. Właśnie wymieniła się w niej książka. Skończyłem czytać “CLR VIA C#” Richtera, zabieram się za “VISUAL C# 2005: THE BASE CLASS LIBRARY” Balena. Z tą książką powinno pójść łatwiej i szybciej niż z Richterem (takie mam wrażenie).

CLR VIA C# jest bardzo interesującą pozycją, którą polecam każdemu. Richter w dość swoisty sposób rozebrał na części pierwsze wszystko, z czym spotykamy się na co dzień. Pierwsza część jest mocno teoretyczna – operacja na otwartym sercu .NET, czyli CLR właśnie. Ciekawostki, ogólny zarys i założenia, które zapadają w pamięć i sporo rozjaśniają. Część “Working with types” – dość ciekawa. Nie zanudza, mimo, iż opisuje rzeczy oczywiste. “Designing parts” – wspaniałe kompendium dla każdego, kto programuje współdzielone komponenty lub po prostu dąży do tego, by jego kod był zgodny ze standardem, skalowalny, bezpieczny i zoptymalizowany. 70 stron czyta się z miłym odczuciem, że nareszcie ktoś uporządkował to nad czym zawsze zastanawiałem się “czy robię to dobrze?”.

Read more

Promuj

Pewnie nie raz staliście przed sytuacją, w której jakaś z funkcji spowodować może powstanie wyjątku, którego wystąpienie trzeba zalogować i przerzucić go dalej (re-throw), aby aplikacja zajęła się nim jak należy. Jednocześnie idealnie, gdy wyjątek zawierał będzie jak najwięcej informacji. Zalicza się do nich przyjaciel każdego programisty – StackTrace.

Read more

Promuj

W przedostatnim wpisie, poruszyłem temat napisania własnego walidatora do daty. Dziś napotkałem na podobny problem – walidacja kontrokli CheckBoxList pod kątem zaznaczenia przynajmniej jednej wartości. Jakieś było moje zaskoczenie ;-) gdy okazało się, że żadna z domyślnych kontrolek walidatorów nie potrafi tego niezmiernie skomplikowanego zadania wykonać ;-) Oczywiście można to załatwić banalnie: CustomValidator i odpowiednia prosta funkcja. Gdzie jednak ponowne wykorzystanie kodu – tak przecież przez nas wszystkich lubiane :) W kolejnym projekcie, na kolejnej stronie – nie będziemy przecież kopiować kodu.
Read more

Promuj

Kilka dni temu powstał w mej głowie misterny plan opakowania DatePickera od jQuery we własną kontrolkę ASP.NET. Dość łatwo poszło (postaram się to opisać w kolejnym wpisie), jednak chciałem jednocześnie móc walidować wprowadzone dane po stronie klienta i serwera. Niezbędne więc okazało się napisanie własnego Validatora. Nie jest to zadanie zbyt trudne – przedstawię dziś sposób na jego realizację.

Read more

Promuj
Sponsorem dzisiejszego odcinka są:

Cel: podłączanie JS typu “pokaż – ukryj div po kliknięciu w link” jedną linijką kodu w C#

Nie wiem czy to rozwiązanie się Wam spodoba, nie wiem czy jest zgodne z arkanami sztuki JS. Jednak mam to gdzieś ;-) Pracuję nad małym projektem, w którym na stronie znajduje się sporo danych. Są one pogrupowane panelami ASP  (czyli po wyrenderowaniu – DIV-ami), którym zapewnić trzeba możliwość ukrywania / pokazywania za pomocą prostego linku (anchor).

Read more

Następna strona »