autor: Nie dawno (patrz wpis: „Rozszerzanie aplikacji .NET (czyli plugin'y, add-in'y, MAF, MEF, itp. ...)”) wspomniałem na tym blogu o Managed Aadd-in Framework (zwanego również System.AddIn lub MAF), przyjrzyjmy się bliżej temu rozwiązaniu. Naszą przygodę z MAF zacznijmy może od powrotu to pokazanego wcześniej rysunku, który zaczerpnięty został z MSDN: Muszę przyznać, że musiałem się chwilę zastanowić, gdy go pierwszy raz zobaczyłem. Przedstawia on tzw. pipeline, czyli ścieżkę prowadzącą przez poszcze...
Architektura 4640 dni, 8 godzin, 28 minut temu 105 źrodło rozwiń
autor: Trafiłem dzisiaj na ciekawy artykuł, którego autor testuje szybkość wykonania różnych metod mających na celu zwrócenie ilości linii zawartych w zmiennej typu string.
autor: Czy korzystacie z refleksji w .NET? Czy zdarzyło wam się przeglądać/ustawiać właściwości klas poprzez refleksje? Czy korzystacie z atrybutów? Mnie często i równie często zdarzało mi się ponownie szukać kodu, który rozwiązałby mój problem, dlatego dla wygody poniżej zamieszczam różne funkcje rozszerzające, które realizują wspomniane wyżej zadania. (być może komuś jeszcze się one przydadzą).
Funkcja walidujaca REGON w VisualBasic .NET : Napisałem dziś funkcje w Visual Basic .NET (bo nigdzie w necie jeszcze nie ma) walidującą nr REGON. Poniżej przedstawiam jej kod Public Function walidujRegon(ByVal numerREGON As String) Dim cyfraKontrolna As Integer Dim dlugoscRegon As Integer = Len(numerREGON) 'wagi regonów 'regon7 = 2,3,4,5,6,7 'regon9 = 8,9,2,3,4,5,6,7 'regon14 = 2,4,8,5,0,9,7,3,6,1,2,4,8 If (dlugoscRegon 14) Then If (dlugoscRegon 9) Then If (dlug...
AppDomain.AssemblyResolve - zdarzenie to pozwala załadować assembly jeśli standardowy mechanizm platformy .NET nie poradzi sobie z tym zadaniem. Aplikacja działała poprawnie aż do migracji na platformę .NET 4.0 Czemu? O tym właśnie będzie post. Zwrócę w nim uwagę na dość istotną różnicę pomiędzy platformą .NET 4.0, a jej wcześniejszymi wersjami jeśli chodzi o wspomniane zdarzenie. Różnica ta, w określonych warunkach, może napsuć krwi.
Na pierwszy rzut oka może się wydawać, że Silverlight nie pozwala na „przechwytywanie” i obsługę wciskania wielu klawiszy jednocześnie np: CTRL + C, ALT + X itd. Ale to tylko pierwsze wrażenie. Poniżej opiszę jak radzić sobie z tym problemem.
Silverlight 4661 dni, 18 godzin, 21 minut temu 101 źrodło rozwiń
Wpis o tym jak dodać nowy build system dla programistów .NET w edytorze Sublime Text 2. Opcja szczególnie przydatna dla tych, którzy sporą część pracy programistyczno-designerskiej przenieśli poza Visual Studio i chcą sobie życie ułatwić :)
autor: W poprzednich częściach ([RX 1], [RX 2], [RX 3], [RX 4], [RX 5]) artykułu o Reactive Extensions dla .NET pojawiło się już dość sporo teorii, ale raczej mało przykładów, w tym wpisie chciałbym się skupić właśnie na przykładach bazujących na zdobytej uprzednio wiedzy. Zacznijmy od zastanowienia się nad prostymi subskrypcjami. W przykładzie z wpisu pt.: "[RX 3] Reactive Extensions pierwszy kontakt z kodem", zasubskrybowaliśmy obiekt typu IObservable (funkcją Subscribe) i jako parametr przekazane zost...
Programowanie rozproszone 4701 dni, 19 godzin, 32 minuty temu 98 źrodło rozwiń
Używając kontrolki WebBrowser na telefonie Windows Phone mogliście się spotkać z błędnym kodowaniem znaków w trakcie używania metody NavigateToString. Podczas standardowego nawigowania przy użyciu metody Navigate do pliku lokalnego albo zewnętrznego wszystko działa poprawnie. Natomiast użycie metody NavigateToString powoduje dziwną interpretację znaków:
Mobile development 4731 dni, 5 godzin temu 49 źrodło rozwiń
autor: Platforma .NET, dzięki mechanizmowi refleksji, pozwala na dynamiczne wczytywanie do programu podzespołów (ang. assembly). Pozwala to w łatwy sposób pisać rozszerzane przy pomocy pluginów aplikacje i na wiele innych rzeczy. Ostatnio potrzebowałem wykorzystać ten mechanizm do własnych celów. Aby zwiększyć bezpieczeństwo, postanowiłem ładować podzespoły do odzielnych domen aplikacyjnych. W ten sposób, jeśli po załadowaniu podzespołu i wykonaniu jego kodu pojawi się błąd, główna domena aplik...
Z serii: artykuły dla zielonych, może komuś pomoże zrozumieć czym są interfejsy w technologii .NET
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...
Za każdym razem, kiedy kończymy tworzenie jakiejś nowej aplikacji, bądź też wypuszczamy aktualizację dla programu dobrze znanego na rynku, zachodzi konieczność utworzenia, bądź też zaktualizowania instalatora dla tejże aplikacji. Oczywiście możemy pliki wykonywalne aplikacji wraz z zasobami dostarczyć naszym użytkownikom np. w postaci skompresowanego archiwum, jednak często jest to rozwiązanie nie do końca elastyczne i wygodne - wymaga choćby użycia dodatkowej aplikacji obsługującej kompresję plików. Dl...
autor: Obecnie tworze aplikację konsolową, jest to REPL dla mojego tyci-mini języka (język nie istnieje poza REPL). Postanowiłem, że istniejącą funkcję print pokryję testami jednostkowymi. Zastanawiałem się jak to zrobić. Problem polegał na tym że wynik przekazywałem na ekran i teraz miałem zagwostkę jak ten tekst przechwycić. Dowiedziałem się o klasie MemoryStream, który tworzy strumień piszący po pamięci przydzielonej dla klasy. Moją klasę PrintMethod, musiałem z modyfikować z: public override Resu...
Wiele osób zna zapewne CodeDOM – bibliotekę, która pozwala generować kod źródłowy przez budowanie go z „klocków” opisujących każdy element kodu: deklarację metody, przypisanie wartości do zmiennej, itp. Nie dało się jednak w łatwy sposób wykonać operacji odwrotnej, tj. zamiany tekstu na drzewo obiektów, które można by łatwo i wygodnie analizować. Problem ten doprowadził to powstania kilku parserów kodu napisanego w C# – na potrzeby kompilatora, środowiska...
Kolejne omówienie, kolejnej sesji z konferencji BUILD - tym razem temat to: What's next in .NET Framework 4.5 Chyba każdy programista .NET, nawet taki, który traktuje to tylko jako zawód (są tacy? :)) z zainteresowaniem śledzi wydarzenia w .NET Frameworku. W końcu zmiany w nim będą rzutować na to w jaki sposób będzie kodował w przyszłości (chyba, że jest uwięziony w jakimś legacy code z .NET 2.0). Sesja zaprezentuje nam jakie oręże będzie dostępne już w niedalekiej przyszłości na potrzeby pisania apli...
autor: We wtorek miałem przyjemność wygłosić prelekcję prelekcję na temat Mono.Cecil na Wrocławskiej Grupie .NET. W sesji starałem się zaprezentować czym jest Mono.Cecil oraz jakie daje nam możliwości jeśli chodzi o przeglądanie, modyfikację plików assembly. Mam nadzieję, że za pomocą przykładów: generatora statystyk, automatyczną implementację INotifyPropertyChnaged wraz z użyciem MSBuild task pokazałem jak możemy wykorzystać Mono.Cecil, aby ułatwić naszą pracę. Dodatkowo poprzez zaprezentowanie proste...
Co powinien umieć programista .NET w 2011 roku? Skupiając się w ostatnich dwóch latach na poznawaniu arkanów SharePoint'a i rozwijaniu własnych zainteresowań, prawie kompletnie zaniedbałem wgryzanie się w coraz to nowe technologie pojawiające się na platformie .NET. Ostatni raz poszukiwałem pracy 4 lata temu, z czystej ludzkiej ciekawości postanowiłem sprawdzić na jakie umiejętności w obrębie technlogii .NET teraz jest zapotrzebowanie na polskim rynku pracy. Oczywiście w tym poście dopuszczę się wszela...
"Cześć, dziś dla odmiany będzie polski tekst- zagadka o synonimach :) . Mamy taką zagadkę jest tekst z wstawkami {typu|rodzaju} z {synonimami|znaczeniami} i trzeba go przetransformować losowo wybierając synonimy. Udało mi się to zrobić ze złożonością O(n) ale walka na jednym forum w Internecie była fajną i udało się zoptymalizować dosłownie wszystko, tak myślę, oceńcie sami."
Nawiązałem współpracę z mobilną platformą reklamową Mobilvi. Firma używa systemu mOcean dla dystrybucji reklam. W internecie dostępna jest ogólna biblioteka mOcean dla Windows Phone, którą możne pobrać tu. Niestety kontrolka jest bardzo niestabilna i z jakiegoś powodu powoduje czyszczenie IsolatedStorage. Z tego powodu na codeplex wrzuciłem własną implementację systemu mOcean.
Mobile development 4831 dni, 6 godzin, 34 minuty temu 57 źrodło rozwiń