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

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 4308 dni, 9 godzin, 50 minut temu pzielinski 131 źrodło 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 4308 dni, 9 godzin, 50 minut temu Paweł Łukasik 93 źrodło 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 4309 dni, 7 godzin, 23 minuty temu sikor02 128 źrodło 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 4309 dni, 7 godzin, 23 minuty temu sikor02 214 źrodło 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 4309 dni, 7 godzin, 23 minuty temu sikor02 199 źrodło 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 4309 dni, 7 godzin, 23 minuty temu sikor02 131 źrodło 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 4309 dni, 7 godzin, 23 minuty temu sikor02 118 źrodło 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 4309 dni, 7 godzin, 23 minuty temu sikor02 60 źrodło 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 4309 dni, 7 godzin, 23 minuty temu sikor02 303 źrodło 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 4309 dni, 13 godzin, 59 minut temu sikor02 125 źrodło 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 4310 dni, 1 godzinę, 45 minut temu psz750 228 źrodło 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 4310 dni, 12 godzin, 44 minuty temu pzielinski 150 źrodło 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 4311 dni, 3 godziny, 30 minut temu Paweł Łukasik 24 źrodło rozwiń

Dziś miało być o praktycznym przykładzie wykorzystania WeakReference ale stwierdziłem, że najpierw powrócimy znów na chwilę do WPF.  Co myślicie o takiej prostej klasie:class TimePresenterViewModel:BaseViewModel { privatereadonly DispatcherTimer _timer; constint RefreshTime=6*1000; public TimePresenterViewModel() { _timer=new DispatcherTimer(); _timer.Interval = TimeSpan.FromMilliseconds(RefreshTime); _timer.Tick += TimerTick; _timer.Start(); } void TimerTic...

Tagi: Dispatcher, WPF
Dziel się z innymi:
Piotr Zieliński » Code review: DispatcherTimer

Windows 4313 dni, 13 godzin, 15 minut temu pzielinski 149 źrodło rozwiń

In this post I’m going to show you how to diagnose SQL exceptions using memory dumps. Imagine you have a web application deployed on a production server. Your application is using Elmah configured to log all exceptions to a dedicated table. One day you receive information that users are unable to make orders and in the Elmah log there are lots of SqlTypeExceptions: SqlDateTime overflow. Must be between 1/1/1753 12:00:00 AM and 1...

Dziel się z innymi:
[EN] Read last executed SQL statement from a memory dump | Low Level Design

Inne 4313 dni, 13 godzin, 15 minut temu Paweł Łukasik 40 źrodło rozwiń

Trial i Windows Store API Cały czas rozpisuję się o nowościach i możliwościach jakie mają aplikacje metro wszystko fajnie jednak nie zapominajmy o rynku na jakim będą dostępne nasze aplikacje a mianowicie Windows Store. Obecnie na świecie jest ok 500 milionów komputerów PC z Windows 7. Niech nawet tylko 10%  z nich przejdzie na Windows 8 to i tak dostęp będziemy mieć do 50 milionów potencjalnych klientów. Nie ma co robi warzenie (przynajmniej na mnie). Microsoft daje nam narzędzia do łatwiejszego...

Tagi: Metro, Windows 8
Dziel się z innymi:
Trial i Windows Store API « Programowanie .NET

Windows 4314 dni, 13 godzin, 18 minut temu adte 123 źrodło rozwiń

Ten wpis jest częścią cyklu o moich przygodach w tworzeniu gier XNA dla Windows Phone. Gdy tworzyłem swoją pierwszą grę (tzn. przepisywałem z tutoriala) nauczyłem się, że:Texture2D – reprezentuje dowolną grafikę, teksturęVector2 – punkt na ekranie, np. aktualna pozycja gracza/wroga, początkowa pozycja gracza/wroga, pozycja tektury przycisku, pozycja wyświetlania się wynikówRectangle – przydaje się do wykrywania wszelkich kolizji np.: gracz vs wróg, pocisk v...

Tagi: tekstury, wp7, XNA
Dziel się z innymi:
WP XNA 4: Jak zapanować nad teksturami (Texture2D, Vector2, Rectangle) | Wojciech Poniatowski [PL]

Mobile development 4315 dni, 5 godzin, 34 minuty temu Paweł Łukasik 87 źrodło rozwiń

W najnowszej wersji SQL Server język T-SQL wzbogacony został o kilka nowych funkcji analitycznych. Są to tzw. funkcje okienkowe operujące na podzbiorach (oknach danych tworzonych klauzulą OVER) głównego zbioru zwróconego przez zapytanie. Zanim przejdę do omówienia wspomnianych funkcji pokażę co zmieniło się w samym poleceniu OVER.

Dziel się z innymi:
Nowości w SQL Server 2012 – funkcje analityczne « Developer notes

Bazy danych i XML 4315 dni, 13 godzin, 22 minuty temu psz750 246 źrodło rozwiń

Chciałbym poświęcić kilka postów na opisanie WeakReference oraz praktycznych przykładów wykorzystania tej klasy. W dzisiejszym wpisie strona teoretyczna i opis klasy. Referencje w środowisku .NET można podzielić na słabe (weak references) oraz silne\mocne (strong references).  Silne referencje są wszystkim doskonale znane np:var sampleClass =new SampleClass(); Innymi słowy jest to standardowy typ powiązania. W momencie gdy wszystkie silne referencje zostaną usunięte wtedy GC może zacząć usuwać taki o...

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

Opublikowano We wpisie o pokryciu kodu (Code Coverage) napisałem: Należy pamiętać, że to są narzędzia dla programisty Co przez to rozumiem? Code Coverage nie może być używany przez kierownictwo/zarząd/management/etc – a już pod żadnym pozorem nie może być związany finansowo z wypłatą programisty. Dlaczego? Przyciśnięty programista może bardzo łatwo wygenerować dowolne pokrycie kodu i to przy dosyć małej ilości pracy. Pisząc odpowiednią ilość testów jednostkowych bez asercji można uzyskać 100% pokryci...

Pokrycie Kodu (Code Coverage) nie jest wskaźnikiem dla kierownictwa | @rek online | Arkadiusz Benedykt

Inne 4317 dni, 1 godzinę, 49 minut temu arek 124 źrodło rozwiń

1 2... 314 315 316 317 318 319... 464 465

Najaktywniejsi w tym miesiącu