[.Net] Abstrakcja, XmlSerializer and typeof(??) Marzec 18. 2011, under [.Net] with No Comments Spotkałem się ostatnio z ciekawym problemem, związanym z funkcjonalnością obiektu XmlSerializer , serializacją oraz deserializacją instancji klasy abstrakcyjnej. Rozwiązanie okazało się proste ale może warte zapisania . Zadaniem jest stworzenie klasy bazowej z podstawowymi atrybutami i metodami, które będą również obsługiwały pochodne klasy oraz zapis...
Autentyczny styl z przykładu MSDN (CUT – wycięty fragment, styl przed i po CUT zachowany). Znaleziony w pliku ContosoProviders_MSDNExample.zip na Code MSDN do którego odnośnik jest na stronach MSDN (nie mogę znaleźć linków).
Komentarze są bardzo ważnym elementem kodu źródłowego. Standardowo Visual Studio jest jednak dość ubogie jeżeli chodzi o ich formatowanie. Z jednej strony to dobrze, ponieważ kod źródłowy to nie choinka, którą trzeba przyozdobić kolorowymi szlaczkami, z drugiej czasami przydałoby się zaznaczyć, że jakiś komentarz jest ważniejszy.
W tym post’cie chciałbym przedstawić w jaki sposób przetwarzać pliki płaskie za pomocą platformy BizTalk. Załóżmy ze posiadamy następujący plik wejściowy (People.csv):Jan Kowalski 25 Jan Nowak 30 Tomasz Pychynski 27 Plik zawiera rekordy z danymi oddzielone enterami, natomiast jeden pełny rekord zawiera imię, nazwisko oraz wiek oddzielone spacjami. Aby przetworzyć taki plik w BizTalk’u, należy wykorzystać Flat File Schema Wizard, gdzie:W...
Zaczęło się:) W trakcie rozwoju projektu przychodzą takie chwile, w których okazuje się bardziej lub mniej czy zespół dobrze się dogrywa i czy tworzony przez niego projekt faktycznie może osiągnąć sukces. Jednym z takich ważnych etapów dla nas jest właśnie start w konkursie DreamBuildPlay! Dla mniej wtajemniczonych - pragniemy poinformować, że końcem lutego wystartował konkurs Microsoftu w tworzeniu gier komputerowych w XNA (na platformę XBox).
Dla tych, którzy mają wątpliwości jak rozliczany jest Azure ( i w jaki sposób można za niego bezpiecznie płacić) polecam artykuł: http://msdn.microsoft.com/pl-pl/library/platnosci-windows-azure
Autor: Dzisiaj kolega podesłał mi swoistą zagadkę w postaci dwóch, pozornie robiących to samo, fragmentów kodu. Jeden napisany w C#, a drugi w VB.NET: int counter = 0; while (++counter Dim counter As Integer = 0 While (++counter Różnica polega na tym, że pętla w C# wykona się 9 razy, a w VB.NET otrzymamy pętlę nieskończoną. Dlaczego? Przyjrzyjmy się dokładniej pętli napisanej w języku VB.NET. Ci z was, którzy programują lub programowali w tym języku zapewne zwrócili uwagę na użycia operator...
« Hello World w BizTalk Server 2010DebugView w rękach programisty BizTalk DebugView jest małą aplikacją, za pomocą której możemy monitorować debug output lokalnego komputera, bądź komputera zdalnego. Jest to narzędzie bardzo pomocne przy debug’owaniu aplikacji BizTalk, ponieważ nie jesteśmy wstanie postawić w orkiestracji breakpoint’a. Natomiast DebugView ułatwia monitorowanie, punktów które sobie zdefiniujemy. Aby zademonstrować działanie DebugView użyjemy aplikacji z posta Hello World w BizTalk Server ...
Hello World w BizTalk Server 2010 BizTalk Server jest dość niszową platformą dlatego też postanowiłem napisać posta, który przedstawi krok po kroku jak zrobić słynne „Hello World” na tej platformie. Przykład ten nieco różni się od standardowego Hello Wolrd, ale mam nadzieje, że będzie zrozumiały i przedstawi podstawy tworzenia projektów BizTalk. W tym celu należy utworzyć nowy projekt Empty BizTalk Server Project w Visual Studio. Następnie klikamy prawym na nowo utworzonym projekcie i wybieramy Propert...
Testy jednostkowe testują wyłącznie lokalne wykonywanie metod i jest nawet niewskazane aby testowane metody odnosiły się do zewnętrznych, zdalnych zasobów.Rozbudowane systemy są często rozproszone, działające na wielu komputerach oraz składających się z wielu modułów. Podstawowe pytanie brzmi: Jak sprawdzić czy utworzone moduły współpracują ze sobą? Otóż należy przeprowadzić testy integracyjne zgodnie z wybraną metodyką. Testy integracyjne tak jak testy funkcjonalne powinny być przeprowadzane na bieżąco...
W poprzednim wpisie wspomniałem o API Moniotrze, dzięki któremu mogliśmy z bliska podejrzeć zestaw parametrów przekazanych do jednej z funkcji systemowych tworzących nowy proces. Tym razem zrobimy jeszcze jeden krok - pokusimy się o rozszerzenie zbioru API Monitora o funkcje systemu, których jeszcze nie zna. W tym celu wejrzymy w trzewia klasy SecureString, która wdzięcznie pomagała nam przy naszych poprzednich zabawach, tym razem jednak to ją samą weźmiemy na stół doktora Reflectora. Albo nie - użyję do...
autor: Ostatnio firmie dostałem zadanie przygotowania teamu do projektu, który właśnie rozpoczęliśmy. Długo się zastanawiałem jak to zrobić by zarówno osoby zapoznały się z środowiskiem pracy jak i z narzędziami. Jako, że osoby biorące udział w projekcie są bardziej Junior Dev niż Dev a tym bardziej senior wpadłem na pomysł by w ciągu dwóch tygodni napisali mini projekt. Tak naprawdę prosty sam w sobie, i kiedy się wykorzystuje wbudowane narzędzia w VS w ciągu jednego dnia, maks dwóch można go napisać. ...
Mój pierwszy wpis opublikowany przez dotNetoManiak(a) opisuje on wiedzę jaką posiadłem podczas prób komunikacji między aplikacją .Net i stroną napisaną w PHP z wykorzystaniem czystego protokołu http.
Jeden z dev pojechał na wakacje i pozostawił mi aplikacje, którą miałem wgrać na serwer testowy i produkcyjny jednak jak się okazało pozostawił małą kaszankę na której naprawianie nie miałem czasu. Ogólnie nie licząc innych problemów pojawił się problem z odwołaniem do usług WCF i WCF ReST spowodowany przez referencje – hardcodowany w pliku konfiguracyjnym od SL. A to ze nie miałem dużo czasu na myślenie to rozwiązałem to w następujący sposób...
W .NET nie tylko klasy mogą być określane, jako partial, ale również metody. Wygląda to tak:partialclass Account { privatedecimal _balance; publicstring Balance { get { return _balance; } set { OnBalanceChanging(value); _balance = value; OnBalanceChanged(); } } partialvoid OnBalanceChanging(decimal balance); partialvoid OnBalanceChanged(); } I klasa ...
Jednym z wyzwań przed jakimi stoją programiści w trakcie pracy nad aplikacją jest sposób przechowywania w pamięci ‘wrażliwych danych’, czyli wszelkiego rodzaju haseł, connection stringów, etc., a zatem informacji, którymi ludzie niechętnie dzielą się ze wszystkimi wokół. Generalnie chodzi bowiem o to, żeby jakiś dobry człowiek podczas przeglądania pamięci procesu nie miał na widelcu wszystkich tych danych, a jedynie sieczkę z której wyciągnięcie czegokolwiek sensownego graniczy z cudem. I właśnie specjal...
Proces tworzenia prostej gry. Jeżeli jesteś początkującym programistą i chcesz napisać pseudoużyteczny program z wykożystaniem Visual Studio i Windows Forms – ten wpis jest właśnie dla Ciebie. Jeżeli jesteś bardziej doświadczonym programistą, chcesz się trochę pośmiać / przeczytać dzienną normę kiepskiego kodu / powytykać kilka błędów i z wielką satysfakcją wyszydzić autora, bądź też pomóc zrozumieć autorowi jego błędy (niepotrzebne skreślić) – też możesz przeczytać ;-)
Autor: Jak przez mgłę widzę czyjąś twarz. Rusza ustami, chce mi coś przekazać. Początkowo dociera do mnie tylko głuchy bulgot, jakbyśmy byli pod wodą. Powoli jednak skrawki wypowiadanych słów w jakiś sposób trafiają do moich uszu. Im więcej rozumiem, tym głębszy mają sens. Chcę słuchać, jeszcze i jeszcze. Przeżywam moment olśnienia. Skąd on wie co mówić? Skąd zna odpowiedzi na wszystkie dręczące mnie pytania? Kto to jest? Zresztą, nieważne. Niech mówi, niech mówi... Niech nie przestaje... Wzrok zdaje mi...
Miło mi poinformować, że udało się sfinalizować tworzenie części serii tekstów, które będą stanowić wprowadzenie, do tworzenia gier z wykorzystaniem Microsoft XNA. Osobom, które są zainteresowane kolejnymi artykułami, nie mogę obiecać konkretnego terminu publikacji, ze względu na duży natłok obowiązków, jednak zachęcam do odwiedzania centrum i wspólnego budow...
Używając analizy kodu w projektach .NET 4.0 można natknąć się na taki oto komunikat: CA1026: Microsoft Design: Replace method xyz with an overload that supplies all default arguments. W dokumentacji do tego ostrzeżenia czytamy, że choć używanie metod opcjonalnych jest dozwolone w specyfikacji CLS, to dozwolone jest także ich ignorowanie. Przyjrzyjmy się więc temu nieco bliżej. Parametry opcjonalne Na tapetę weźmiemy tę oto prostą metodę: public void OptionalMethod(string name, int value = 42) { ...