Każdy napewno chciałby zabezpieczyć kod swojego produktu przed wścibskimi oczami. Kod aplikacji napisanej dla platformy .NET można bardzo prosto zdekompilować. Aby się przed tym uchronić można zastosować oprogramowanie który stworzy zdekompilowany kod niemożliwym do odczytania lub wręcz nie pozwoli go zdekompilować (np. dodając jakieś błędne metainformacje, oczywiście tak że aplikacja będzie nadal działać).
Jak napisałem wcześniej (IBM Rational Software Modeler i platforma .NET) do tego aby w IBM Rational Software Modeler, które jest narzędziem do wizualnego modelowania i projektowania w języku UMLMożna było dokonywać transformacji kodu z modelu UML do C# i z kodu C# do UML potrzebna jest dodatek IBM Rational Modeling Extension for Microsoft .NET...
Większość obecnych urządzeń mobilnych z Windows Mobile na pokładzie (i nie tylko), posiada wbudowany telefon. A to otwiera ciekawe możliwości przed naszymi aplikacjami. Wszystko było by pięknie gdyby nie konieczność pracy z Telephony Application Programming Interface (w skrócie TAPI) biblioteką która umożliwia dostęp do tych wszystkich potencjalnie przydanych możliwości...
Microsoft ma swoje ‘best practices’ i ja mam swoje ;) Generalnie to co przedstawię poniżej to taki własny, nieuporządkowany, ‘core dump’ różnych informacji, wygrzebanych gdzieś po zakamarkach różnych dokumentacji i poradników. Wskazówki, głównie, dotyczą problemów z pamięcią i szybkością działania aplikacji pracujących pod kontrolą .NET Compact Frameworka i systemów Windows Mobile.
Singleton jest jednym ze wzorców projektowych. Jego zadaniem jest zapewnienie istnienia tylko jednej instancji danej klasy i umożliwienie globalnego dostępu do niej. W C# przykładowo może wyglądać to tak...
Przez Internet przetoczyła się fala krytyki z powodu działań Microsoftu w stosunku do przeglądarki Mozilla Firefox. Chodzi o dodatek, Microsoft .Net Framework Assistant 1.0, który dystrybuowany wraz z Microsoft .Net Framework 3.5 SP1 dodaje się automatycznie do listy dodatków przeglądarki Firefox..
Jak dla mnie R# jest genialnym narzędziem i nie bardzo wyobrażam sobie pracę bez niego :). Na szczęście nie muszę. Ale do rzeczy. Jeden z moich kolegów zaobserwował pewien problem z uruchamianiem testów NUnit poprez R#. Po poszukiwaniach dotarł do takiej dyskusji na forum...
Powiedziałem “a” trzeba powiedzieć “b” i po BlipNet popełniłem bibliotekę dostępową do API Flakera. Projekt można znaleźć na CodePlex FlakerNET...
ESRI to lider światowego rynku systemów informacji geograficznej (ang. GIS). Lider przez duże L - Na całym świecie z rozwiązań ESRI korzysta 300 tyś instytucji w tym 2/3 firm z listy Fortune. ESRI to taki Microsoft w świecie GIS'ów :)..
Od wczoraj jestem "szczęśliwcem". Szczęśliwcem ponieważ mam możliwość (a dokładniej nie mam wyboru) programować w ASP.NET 3.5 w VS 2008...
Język C# ma sporą przewagę nad C++ i część z tych mechanizmów języka będę się starał opisywać co jakiś czas w kolejnych notkach. Tym razem coś co usprawni naszą pracę z klasami – atrybuty/właściwości/properties. Mechanizm ten był w C++ wykorzystywany na około – poprzez metody dostępu tzw settery i gettery a wyglądało to mniej więcej tak...
Ta dziedzina przyda mi się wkrótce przy pisaniu nieco większego projektu więc dziś zabawiłem się w pierwsze rozeznanie. Jak się okazuje, C# udostępnia bardzo wygodne w użyciu klasy, umożliwiające prostą komunikację poprzez protokół HTTP. Poniżej fragment kodu..
Na potrzeby najbliższego projektu w C# musiałem nieco dowiedzieć się na temat refleksji ( Reflection ). Otóż przydaje się on w momencie gdy chcemy uruchamiać jakieś metody na poziomie wykonywanego programu a nie na poziomie kompilacji. Nie wiemy co to za obiekt, nie wiemy jakie ma metody i atrybuty...
Wbrew pozorom odpalenie pierwszego projektu w środowisku Visual Studio dla języka C# nie jest takie proste w AdWords API...
Jednym z przyczyn dla której platforma .NET jest tak elastyczna jest mechanizm refleksji. Prościej mówiąc modyfikacja programu w czasie jego działania. Przykładem użycia może być wywoływanie metod nieznając ich nazw w czasie pisania programu albo tworzenie obiektów z klas znajdujących się w zewnętrznych bibliotekach (inaczej: system wtyczek)...
Zacznę może od tego, że potrzebuję w pewnym projekcie pisanym w C# obsługę macierzy (dodawanie, mnożenie, ślad, itp). Konkretniej chodzi o macierz skonstruowaną z elementów typu prostego Double, ale dobrą cechą byłaby jej uniwersalność (czyli obsługa dowolnych typów) – w skrócie macierz generyczna...
Wyrażenia lambda jest to nowa konstrukcja wprowadzona do C# 3.0 pozwalająca w łatwy i przejrzysty sposób na "szybko" zdefiniować jakąś funkcję. W tej notce napiszę jak można je użyć do definiowania...
Jak wiadomo debugger dla programisty to jest bardzo ważne narzędzie, które potrafi znacząco ułatwić pracę. Moim zdaniem w Visual Studio znajduje się chyba jeden z najlepszych pod względem intuicyjnego używania (aczkolwiek dawno nie korzystałem z produktów Borlanda, tam może też się co nieco zmieniło;) )...
W poprzedniej części opisałem czynności przygotowawcze, teraz napiszemy trochę kodu :). Na początku należy dodać referencję do projektu w Visual Studio: Teraz wskazujemy serwis (wpisując jego adres: http://localhost/CAS.OPCWSDataAccess/OPCAdvancedDataAccess.asmx): Wpisujemy jeszcze nazwę naszej referencji, klikamy na "Add Reference" i referencja powinna nam się pojawić w naszym Solution: Teraz wykorzystamy dwie funkcje: GetAvailiableItems (zwracającą dostępne w serwerze elementy) oraz GetV...
W poprzedniej części opisałem czynności przygotowawcze, teraz napiszemy trochę kodu :). Na początku należy dodać referencję do projektu w Visual Studio: