Pamięć w C# i jego tajemnicze kodowanie znaków
Lubię pisać w C#, zwłaszcza na dedykowanym dla niego edytorze w pakiecie Visual Studio. Ale czasami szlag mnie trafia, kiedy jego największa zaleta czasami daje o sobie znać w najgorszy możliwy sposób – a mianowicie zarządzanie pamięcią. W C++ mamy jasno określoną sytuację – char zajmuje jeden bajt; jak go zapiszemy do pliku, to dalej […]
Argumenty z Linii Komend w Windows Forms
Jak wiadomo czasami czasami projektuje się aplikację, by odpowiednio reagował na argumenty linii komend (tzw. command line arguments). Służą one różnym celom – od pokazywania dodatkowy informacji, po udostępnienie dodatkowej funkcjonalności użytkownikom zaawansowanym. Przykład wywołania programu z takimi argumentami: iexplorer http://www.google.pl Jak umożliwić wykorzystanie takich możliwości w C#? Jeżeli utworzymy projekt C# który będzie korzystał […]
Polimorfizm w Destruktorze, czyli jak nie działa virtual
Ostatnio wzięło mnie na prototypowanie swoich starych bibliotek. Chciałem zobaczyć które z moich starych bibliotek, które pisałem jako młody koder jeszcze nadają się do użytku, a głębi tego miałem zamiar posprawdzać parę rzeczy nt. C++, na które nigdy nie miałem czasu. Jedną z bardziej zaskakujących jest dziedziczenie połączone z polimorfizmem i destruktorem. Sprawa wyglądała dosyć […]
Delegate i Event’y w C#
Jako, że już sporo czasu pracuje w C# jako narzędziu, gdzie szybko można robić narzędzia (paradoksalnie) z przyjaznym interfejsem – w dodatku szybko i wygodnie, to w pewnym momencie musiałem dodać do nowej klasy własnego tzw. “Event’a” (trigger’a, wyzwalacz, zdarzenie, czy jak to zwą). Jak to zrobić było oczywiście napisane w Bibliotece MSDN, aczkolwiek trzeba […]