dotnetomaniak.pl

dotnetomaniak.pl - Najnowsze artykuły o .NET - Strona 239

Na blogu Pawła Potasińskiego istnieje wpis o sposobach konwersji polskich liter zakodowanych w standardzie Mazovia w środowisku SQL Serwera. Jednym z tych sposobów jest zrealizowanie konwersji za pomocą funkcji rozszerzonej, napisanej w .NET. Niestety, nie wykorzystuje ona standardowych mechanizmów konwersji .NET (Encoding), ale zwykłą podmianę znaków (Replace). Dlaczego klasa Encoding nie podołała temu zadaniu i jak mimo wszystko zmusić ją do niego? Odpowiedź w tym wpisie.

Źródło: paskol.robi.to
Dziel się z innymi:
Me z .NET tete-a-tete » Drogie Panie i Panowie, oto sposób na Mazowię.

Bazy danych i XML 2339 dni, 12 godzin, 8 minut temu PaSkol 119 rozwiń

W C# istnieje dość mało popularny atrybut ThreadStaticAttribute. Do czego on służy? Zacznijmy od przykładu:internalclass Program { [ThreadStatic] privatestaticint _value; privatestaticvoid Main(string[] args) { Thread thread1 =new Thread(PrintValue); Thread thread2 =new Thread(PrintValue); thread1.Start(4); thread1.Join(); thread2.Start(); } staticprivatevoid PrintValue(object args) { if(args!=null) _value = (int) ar...

Dziel się z innymi:
Piotr Zieliński » Atrybut ThreadStaticAttribute

Sztuka programowania 2340 dni, 16 godzin, 36 minut temu pzielinski 92 rozwiń

W trakcie tworzenia serwisów bazujących na ASP.NET niejednokrotnie zdarza się potrzeba przesyłania dużych plików przez sieć. W przypadku, gdy kontroler, aby przetransportować plik do przeglądarki, musi odwołać się do usługi sieciowej (w opisywanym przez mnie wypadku WCF) sprawy mogą się trochę skomplikować. Ponieważ nie chcielibyśmy, aby nasz serwer regularnie zapychał się buforując dużą ilość danych, dobrym rozwiązaniem byłoby utworzenie strumienia wzdłuż całego stosu komunikacyjnego...

Bartosz Sypytkowski Blog: Forwardowanie i streaming dużych plików przez WCF

W ostatnich postach pisałem o słabych referencjach oraz podałem przykładowe implementacje obsługi zdarzeń. Niestety mimo generycznego rozwiązania, jednej wady nie udało się usunąć a mianowicie tzw. sacrifice object. Przed rozpoczęciem czytania tego wpisu zachęcam  najpierw do zapoznania się z poprzednimi. WeakEventManager to klasa WPF. Jak wspomniałem, często nie wiemy kiedy listener jest usuwany z pamięci w różnego rodzaju kontrolkach. Z tego względu to właśnie WPF dostarcza odpowiednią klasę. W wersji...

Tagi: C#, WPF
Dziel się z innymi:
Piotr Zieliński » WeakEventManager  w WPF 4.5

Windows 2343 dni, 15 godzin, 43 minuty temu pzielinski 86 rozwiń

W WPF dostępne są klasy ItemsPanelTemplate i DataTemplate, dzięki którym możemy zdefiniować własny układ oraz wygląd elementów prezentowanych przez wybraną kontrolkę. W tym temacie pokażę zastosowanie wspomnianych klas na przykładzie obiektu ListView wyświetlającego elementy kolekcji.

WPF – własny układ oraz wygląd elementów dzięki ItemsPanelTemplate i DataTemplate « Developer notes

Windows 2344 dni, 15 godzin, 14 minut temu psz750 253 rozwiń

RxExtension - to biblioteka od Microsoftu ułatwiająca programowanie asynchroniczne. Opiera się na istniejących interfejsach IObservable oraz IObserver. W RX wiadomości są traktowane jako strumienie danych, do których należy się przypiąć i reagować na pojawienie się nowej wiadomości. Najnowsza wersja ma już cyferkę 2, ale nie jest jeszcze oznaczona jako stabilna. Ja do nauki wykorzystałem wersję 1 oraz książeczkę dostępną na stronie RX - Dev Labs Hands On. Na Channel9 są jakieś filmy na temat RX. Poniże...

Dziel się z innymi:
jstadnicki: RX extensions w przykładach

Inne 2344 dni, 15 godzin, 14 minut temu Paweł Łukasik 123 rozwiń

Napiszemy prosty program wielowątkowy, zrobimy synchronizację z głównym wątkiem (aby czekał dokładnie do momentu zakończenia drugiego wątku) i dodatkowo prześlemy parametr do nowo tworzonego wątku. To wszystko jest często niezbędne w aplikacjach i warto wiedzieć jak to się robi. Poprzednio wątki synchronizowane były za pomocą zmiennej bool. Nie jest to dobre rozwiązanie. Dodatkowo wątek główny musiał sprawdzać co pewien czas wartość tej zmiennej. Tutaj rozwiążemy to nieco bardziej optymalnie. Stw...

Dziel się z innymi:
C# na blache: Program wielowątkowy

Sztuka programowania 2346 dni, 13 godzin, 5 minut temu sikor02 322 rozwiń

W poprzednim poście podałem prostą implementację zdarzeń opartych na słabych referencjach. Zachęcam najpierw do przeczytania poprzedniego wpisu bo bez niego będzie ciężko zrozumieć dzisiejszy post. Dziś implementacja zaproponowana na blogu Paul Stovell’a:publicsealedclass WeakEventHandler

Tagi: C#, weak event
Dziel się z innymi:
Piotr Zieliński » Weak event patterns, część II

Architektura 2346 dni, 13 godzin, 5 minut temu pzielinski 131 rozwiń

Jedną z ciekawiej zapowiadających się nowości w języku Transact-SQL (T-SQL) w SQL Server 2012 była funkcja FORMAT. Wspomniał o niej choćby Marcin Nowakowski opisując nowe funkcje skalarne w najnowszej odsłonie systemu SQL Server. FORMAT daje spore możliwości tworzenia ciągów znakowych sformatowanych według zadanego wzorca zgodnego z wybraną notacją narodową (np. wybór formatowania “pie...

Tagi: format, T-SQL
Źródło: sqlgeek.pl
Dziel się z innymi:
SQL Server 2012 – Funkcja FORMAT «  SQLGeek.pl

Bazy danych i XML 2346 dni, 13 godzin, 5 minut temu Paweł Łukasik 93 rozwiń

Zastanawiałeś się kiedyś po co przy deklaracji delegata wymagane jest podawanie nazw zmiennych nawet jeśli nie są do niczego potrzebne? Weźmy np prostego delegata przyjmującego 2 inty i zwracającego inta: public delegate int SimpleDelegate(int x, int y); Jeśli zdefiniujemy sobie takiego delegata gdzieś w programie to przecież nie używamy nigdzie tych zmiennych: SimpleDelegate d = new SimpleDelegate(SomeFunction); Więc czemu nie można zadeklarować delegata np w taki sposób? (kompilator nie ...

Dziel się z innymi:
C# na blache: Nazwy zmiennych w delegatach

Sztuka programowania 2347 dni, 10 godzin, 38 minut temu sikor02 128 rozwiń

Jak już wspomniałem w jednym z moich wcześniejszych postów, sortowanie danych możliwe jest za pomocą implementowania specjalnych interfejsów (IComparer, IComparable) i zapytań LINQ. LINQ jest... leniwe. Jednak wbrew pozorom może być to pożądana cecha. Znaczy to tyle, że nawet jeśli utworzymy zapytanie, to taka konstrukcja:var sort = from p in people2 orderby p.Age select p; nie wykona tego zapytania i nie przypisze nam wyniku do zmiennej "sort". Trzeba...

Dziel się z innymi:
C# na blache: Leniwe LINQ

Sztuka programowania 2347 dni, 10 godzin, 38 minut temu sikor02 211 rozwiń

Czas na małe szaleństwo z interfejsami, łączeniem konstruktorów, przesłanianiem metod i metodami rozszerzającymi! Wyobraźmy sobie, że mamy tablicę własnych obiektów np samochodów. Chcemy posortować te samochody raz po identyfikatorze, raz po prędkości maksymalnej, a jeszcze innym razem według koloru. Jest to bardzo proste dzięki zastosowaniu interfejsu IComparer (zdefiniowany w System.Collections). Przy okazji skorzystamy z pozostałych wcześniej wymienionych technik. Należy pamiętać że stosowan...

Dziel się z innymi:
C# na blache: Sortowanie własnych obiektów po dowolnych polach

Sztuka programowania 2347 dni, 10 godzin, 38 minut temu sikor02 195 rozwiń

Zrobiłem mały test. Chciałem sprawdzić co jest wydajniejsze, LINQ czy użycie IComparera. Odpowiedź: "to zależy?" Na początek zrobiłem małą klasę obiektu do testowania, która wyglądała tak: Następnie w głównej pętli programu napisałem następujący kod: static void Main(string[] args) { string name = "Mr. Tomek"; Random r = new Random(); int size = 50; Stopwatch stopWatch = new Stopwatch(); while (size < repeats;="" ++a)="" {="" person[]="" people1="new" person[size];="...

Dziel się z innymi:
C# na blache: LINQ vs IComparable czas sortowania / performance

Sztuka programowania 2347 dni, 10 godzin, 38 minut temu sikor02 127 rozwiń

Ostatnio pisałem swoją własną wtyczkę efektową VST przy użyciu C# WPF i wrappera VstNET. Do ukończenia mojego efektu musiałem rozwiązać pewien problem: przesuwanie i zmiana rozmiaru własnej kontrolki WPF. Próbowałem najpierw zrobić to "po swojemu" czyli reagować odpowiednio na zdarzenia kliknięcia lewego przycisku myszki i ruchu myszki. Jednak efekt nie był zadowalający. Gdy ruchy myszką były za szybkie, kursor wylatywał poza obszar reagujący na kliknięcie i kontrolka przestawała się przesuwać. ...

Tagi: Thumb, WPF
Dziel się z innymi:
C# na blache: WPF Thumb

Windows 2347 dni, 10 godzin, 38 minut temu sikor02 117 rozwiń

Ostatnio spotkałem się z pewnym problemem związanym z DataGridem. Potrzebowałem oprogramować na nim zdarzenie MouseLeftButtonDown. Jednak nie jest to takie proste. Do pokazania problemu i rozwiązania użyję prostego projektu Silverlight Application. Tworzenie projektu Silverlight Utwórzmy zwykły najprostrzy projekt Silverlight Application w Visual Studio. Za pomocą toolboxa lub bezpośrednio w XAML dodajmy do niego obiekt DataGrid. Utwórzmy dodatkowo nową klasę Person, której obiektami wyp...

C# na blache: MouseLeftButtonDown na DataGrid Silverlight

Silverlight 2347 dni, 10 godzin, 38 minut temu sikor02 60 rozwiń

Pora na wielowątkowość! W najbliższych postach zajmę się wielowątkowością w C#. Jednak zanim przejdę do "prawdziwych" watków (z przestrzeni System.Threading), najpierw asynchroniczne delegaty. Asynchroniczne delegaty Delegata można utożsamiać ze wskaźnikiem na funkcję z zachowaniem bezpieczeństwa typów. Takiego delegata można wywołać synchronicznie i asynchronicznie. Asynchroniczne wywołanie delegata daje takie same rezultaty jak utworzenie nowego wątku a jest nawet prostrze!  Jak się okaże, wystar...

Dziel się z innymi:
C# na blache: Asynchroniczne wywołanie delegatów

Sztuka programowania 2347 dni, 10 godzin, 38 minut temu sikor02 289 rozwiń

Jeśli znamy obiekt z którego chcemy skorzystać a nie pamiętamy w jakiej przestrzeni nazw się znajduje (nie wiemy co dopisać po "using") z pomocą przychodzi VisualStudio. Załóżmy że chcemy użyć wielowątkowości w naszym programie. Potrzebujemy dostać się do klasy Thread. Jednak w jakiej przestrzeni nazw ona się znajduje? Aby automatycznie dodać odpowiednią przestrzeń nazw wystarczy kliknąć na "Thread" prawym przyciskiem myszy i wybrać Resolve->using System.Threading; Odpowiednia przestrzeń na...

C# na blache: Szybkie dodawanie przestrzeni nazw

Narzędzia 2347 dni, 17 godzin, 14 minut temu sikor02 125 rozwiń

W dzisiejszym wpisie zajmę się tematem łączenia kolekcji obiektów przy użyciu mechanizmów dostępnych w LINQ. Pokażę przykłady zastosowań metod Concat, Union, Intersect, Except oraz klauzuli Join (zarówno dla złączeń wewnętrznych jak i zewnętrznych). Dla każdego przykładu złączenia kolekcji przedstawię analogiczny sposób łączenia zbiorów danych w języku SQL.

Dziel się z innymi:
Łączenie kolekcji obiektów przy użyciu LINQ « Developer notes

Inne 2348 dni, 5 godzin temu psz750 225 rozwiń

Dziś jak obiecałem, praktyczny przykład wykorzystania WeakReference ( o który mowa była kilka postów wcześniej). Zdarzenia są częstym powodem memory leak.  Na przykład:publicclass ReportViewModel { publicvoid Init(EmployeesViewModel employeesVm) { employeesVm.PropertyChanged+=EmployeesPropertyChanged; } privatevoid EmployeesPropertyChanged(object sender,EventArgs e) { // logika } } Następnie gdzieś w kodzie tworzymy ReportViewModel, wykonujemy jakieś operację i u...

Tagi: C#, WeakReference
Dziel się z innymi:
Piotr Zieliński » WeakReference – weak event pattern

Inne 2348 dni, 15 godzin, 59 minut temu pzielinski 124 rozwiń

Gry w odróżnieniu do aplikacji “biznesowych” często wydają z siebie dźwięki i muzykę. W wytycznych certyfikacji na Windows Phone Marketplace znajdziemy zapisy, które regulują co w kwestii dźwięków jest wymagane z naszej strony. Poniżej przedstawię przydatną klasę SoundProvider, która uprości nam zarządzanie dźwiękiem. WP Marketplace wymaga m.in od nas aby użytkownik mógł...

Tagi: dźwięk, wp7, XNA
Dziel się z innymi:
WP XNA 5: Wygodne zarządzanie dźwiękiem (SoundProvider) | Wojciech Poniatowski [PL]

Mobile development 2349 dni, 6 godzin, 45 minut temu Paweł Łukasik 24 rozwiń

1 2... 237 238 239 240 241 242... 387 388