Łapanie wyjątków w metodzie asynchronicznej nie jest niczym skomplikowanym. Należy tylko pamiętać o tym, iż mamy do czynienia z różnymi możliwymi scenariuszami wyjątków. Metoda oznaczona słowem kluczowym async zawiera przeważnie jedną lub więcej wywołań metod ze słowem kluczowym await. Await stoi przed metodą zwracającą typ Task. Pierwsza zasada to ta, iż await nie może się pojawić się w bloku catch lub finally.
Strona głównaUżytkownik
psz750 | użytkownik
Zaczniemy znów od kawałka kodu. Przeanalizujmy w jaki sposób wykonywana jest powyższa metod...
Nietypowo, na początek trochę kodu. Co czyni powyższą metodę asynchroniczną? Sygnatura metody zawiera słowo kluczowe async, nazwa metody zawiera przyrostek Async, typ zwracany to: Task(TResult), Task lub void, metoda zawiera przynajmniej jedno słowo kluczowe await.
Zamrażanie interfejsu użytkownika podczas wykonywania skomplikowanej czynności nie jest dobrym pomysłem. Aplikacja, która "zamiera" nie zachęca do dalszego wykorzystywania przez użytkownika. Programowanie asynchroniczne z drugiej strony wiąże się z większym nakładem pracy oraz bardziej skomplikowanym kodem wynikowym. Na pomoc przychodzi .NET 4.5 wraz z nowymi słowami kluczowymi: async, await. Jak je stosować i w jaki sposób pomagają nam tworzyć aplikacje asynchroniczne zobaczymy w poniższym przykładzie...
Jak często zdarza się, że szukamy jakiejś opcji w IDE i nie możemy znaleźć miejsca w którym się ona znajduje? IDE jakim jest VS przez lata ewolucji rozrosło się do tak dużych rozmiarów, że znalezienie odpowiedniej funkcjonalności może zająć całkiem sporo czasu. Microsoft zauważył ten problem i w nowym VS 2012 wprowadził Quick Launch...
Biblioteka .NET dostarcza wiele ułatwień w dziedzinie pracy nad zbiorami. Do pracy ze zbiorami możemy podejść na dwa sposoby: Metody LINQ lub Kolekcja HashSet...
Serializator XML'owy platformy .NET jest bardzo łatwy i przyjemny w użyciu, ale czasami jego działanie może sprowadzić nas na manowce. Poniższy kod obrazuje o co mi chodzi. Zacznijmy od przykładowej, bardzo prostej klasy, którą będziemy serializować...
Piotr Zieliński pisze ciekawy cykl “Dobre i złe praktyki w C#”, a ja dzisiaj chciałem się odnieść do części VI i opisać rzecz, której dotychczas nie byłem świadom. Inicjalizacja właściwości obiektu.
Platforma .NET pozwala na definiowanie metadanych, czyli pewnych informacji opisujących różne elementy kodu. Funkcjonalność ta realizowana jest poprzez atrybuty. Atrybuty używane mogą być do opisu takich elementów jak klasy, metody, zdarzenia, pola, właściwości oraz wielu innych. Oprócz szeregu zdefiniowanych atrybutów mamy możliwość tworzenia własnych.
SQL Server 2012 jest już na rynku chwilę. Pracując z klientami i partnerami zbudowałem sobie na własne potrzeby listę co cenniejszych zasobów pomocnych w opanowaniu zarówno samej technologii, jak i trudnej sztuki licencjonowania. Mam nadzieję, że dzięki wymienionym na poniższej liście materiałom uda się odszukać większość odpowiedzi na nurtujące Was pytania i wątpliwości.
Bazy danych i XML 4203 dni, 9 godzin, 2 minuty temu 85 źrodło rozwiń
O interfejsach napisano już wiele artykułów. Postaram się dlatego podejść do tego zagadnienia od innej strony. Na początek pytanie: czym różni się metoda wirtualna od implementacji metody z interfejsu? Mogło by się zdawać, że są to bardzo podobne operacje.
Sztuka programowania 4206 dni, 19 godzin, 28 minut temu 197 źrodło rozwiń
Z komendy Make Object ID korzystam już od bardzo dawna, nie codziennie ale w niektórych sytuacjach jest ona nieodzowna. Ostatnio zorientowałem się jednak, że nawet doświadczeni użytkownicy VS mogą o niej wiedzieć i stąd pojawił się pomysł na ten post.
Artykułów na temat Garbage Collector zostało napisanych już wiele. Dlatego nie będę przedstawiać dokładnie zasady jego działania, a raczej praktyczne wskazówki implementacji finalizerów i wzorca IDisposable.
Funkcja GetHashCode używana jest tylko i wyłącznie w przypadku korzystania z kolekcji typu klucz wartość jak HashSet lub Dictionary. Funkcja ta nie jest tak oczywista jak się to zdaje i napisanie poprawnej jej wersji sprawia wiele problemów.
Tworząc własny typ w większości przypadków definiujemy także dla niego funkcje równości. Mało kto wie jednak że C# oferuje aż 4 takie funkcje.
Jeżeli korzystamy z najnowszego Visual Studio 2012 Windows Desktop możemy się rozczarować gdy zamiast dobrze znanego okienka dostaniemy irytujące modalne okienko.
W LINQ mamy dwie metody First() oraz Single(). Obie metody zwracają po jednym rekordzie. Jaka jest więc między nimi różnica? Zobaczmy na kawałek kodu i jego reprezentację w bazie MS SQL.
Extension Methods można wykorzystać nie tylko do dodawania metod do istniejących klas, ale także jako najprostszy mechanizm mapujący. Nie musimy tworzyć całej biblioteki do mapowania, wystarczy dodać do klasy odpowiednią metodę np. Map.
W dzisiejszym temacie zajmę się omówieniem poleceń ROLLUP, CUBE oraz GROUPING SETS. Polecenia te umieszczane są w klauzuli GROUP BY i pozwalają na wygenerowanie odpowiednich grupowań w celu agregacji danych.
Bazy danych i XML 4219 dni, 3 godziny, 4 minuty temu 319 źrodło rozwiń
Każdy kod można usprawnić / napisać lepiej. Bez wyjątku. Nie ma kodu idealnego (jak już zresztą kiedyś pisałem). Jednak w pewnym momencie trzeba przestać, tzn. nie można dopieszczać w nieskończoność jednego kawałka kodu zaniedbując wszystko dookoła. Ale nie oznacza to, że powinniśmy akceptować każde poplątane ścierwo jakie wyjdzie spod naszych skrzypiących paluchów i mówić "spoko, jest wystarczająco dobrze".
Sztuka programowania 4228 dni, 20 godzin, 27 minut temu 255 źrodło rozwiń