dotnetomaniak.pl - Artykuły z tagiem C#

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.

Tagi: .Net, async, await, C#
Dziel się z innymi:
Programowanie w .NET: await, async - konwencje i fakty

Inne 4174 dni, 23 godziny, 28 minut temu psz750 454 źrodło rozwiń

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...

Tagi: .Net, async, await, C#
Dziel się z innymi:
Programowanie w .NET: Asynch await - asynchroniczność w .NET 4.5

Inne 4176 dni, 23 godziny, 39 minut temu psz750 183 źrodło rozwiń

Odwołam się do wpisu Tworzenie własnej ConfigurationSection. W tamtym podejściu tylko czytałem z configuracji. Teraz chcę pokazać że do konfiguracji można też zapisywać z poziomu kodu.

Tagi: C#, Configuration
Dziel się z innymi:
ConfigurationSection nie tylko read-only | Show me the code

Architektura 4179 dni, 20 godzin, 47 minut temu http://krzysztofmorcinek.wo... 59 źrodło rozwiń

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...

Tagi: .Net, C#, kolekcje
Dziel się z innymi:
Programowanie w .NET: Operacje na zbiorach

Inne 4181 dni, 13 godzin, 25 minut temu psz750 156 źrodło rozwiń

Nie wiem, czy istnieje jakieś bardziej oficjalne tłumaczenie pure methods,więc aby uniknąć śmiesznych nazw przez resztę postu będę posługiwał się nazwą angielską. Nie chodzi mi o metody czysto wirtualne, które są powszechnie znane.  W .NET istnieje atrybut PureAttribute, którym możemy oznaczać metody pure. Warto zacząć jednak od czystej definicji, czym jest metoda pure? W skrócie metoda pure nie zmienia stanu obiektu a jedynie operuje na parametrach wejściowych. Aby spełniać wymogi metod pure należy:Par...

Tagi: C#, pure method
Dziel się z innymi:
Piotr Zieliński » Pure methods

Sztuka programowania 4181 dni, 13 godzin, 25 minut temu pzielinski 156 źrodło rozwiń

Jak wiadomo debuger wielkim przyjacielem programisty jest, ale nie zawsze istnieje możliwość odpalenia go od tak sobie wciskając F5. W przypadku usług (serwisów) windows otrzymamy komunikat o poprawnym sposobie uruchomienia serwisu. Co z tym fantem zobić?

Dziel się z innymi:
reVis / Debugowanie usług windows w Visual Studio

Inne 4182 dni, 2 godziny, 27 minut temu reVis 80 źrodło rozwiń

Klasa XmlSerializer służy do serializacji całych klas. Za pomocą atrybutu XmlIgnore można wykluczyć właściwości, których nie chcemy zapisywać. Problem pojawia się gdy w klasie pochodnej chcemy wykluczyć jakieś pola z klasy bazowej tj.:class Employee { publicstring FirstName { get; set; } } class Manager:Employee { //...} Serializaując Employee chcemy zapisać FirstName. Z kolei serializując Manger nie chcemy już tego robić. Jak uzyskać taki efekt? Dodając atrybut XmlIgnore w Employee  spowoduje...

Tagi: C#, serializacja
Dziel się z innymi:
Piotr Zieliński » Ignorowanie pól klasy bazowej podczas serializacji

Rozpoznaję taki jakby pattern przeładowanych metod dla string.Format(…). Jest wykorzystywany w wielu miejscach we Frameworku jak i poza nim. Chciałem zwrócić uwagę na ILog.DebugFormat() w bibliotece log4net oraz na Console.WriteLine().

Dziel się z innymi:
Trochę więcej kultury | Show me the code

W C# można implementować interfejsy na dwa sposoby: jawny oraz niejawny. Rozważmy poniższy interfejs:interface ISerializable { void Serialize(string path); } Implementacja jawna:class ExplicitImplementation:ISerializable { #region ISerializable Membersvoid ISerializable.Serialize(string path) { thrownew NotImplementedException(); } #endregion } Implementacja niejawna:class ImplicitImplementation:ISerializable { #region ISerializable Membersvoid ISerializable.Serial...

Piotr Zieliński » Interfejsy: implementacja jawna vs. niejawna

Sztuka programowania 4186 dni, 23 godziny, 27 minut temu pzielinski 132 źrodło rozwiń

Życie programisty byłoby prostsze, gdyby zawsze używał explicite CultureInfo gdy korzysta z ToString() oraz string.Format(...).

Dziel się z innymi:
Trochę kultury! | Show me the code

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ć...

Dziel się z innymi:
Michał Komorowski: XmlSerializer- taka ciekawostka

Inne 4189 dni, 2 godziny, 59 minut temu psz750 124 źrodło rozwiń

O strukturach na blogu pisałem już wielokrotnie m.in.: “Klasy i struktury w C#”, “Dlaczego struktury nie mogą posiadać konstruktora bez parametrów?”, “StructLayout – wprowadzenie”, “StructLayout–zastosowanie”. W pierwszych z tych postów, przedstawiającym różnice między klasami a strukturami napisałem, że co prawda struktury nie mogą dziedziczyć po klasach ale mogą za to implementować interfejsy. Dzisiaj chciałbym rozszerzyć to o kilka słów gdyż w tamtym wpisie ograniczyłem się tylko do stwierdzenia, że j...

Dziel się z innymi:
Piotr Zieliński » Struktury danych a interfejsy

Sztuka programowania 4190 dni, 3 godziny, 50 minut temu pzielinski 98 źrodło rozwiń

O dwóch sposobach inicjalizacji właściwości obiektu pisałem już tutaj. Dziś chciałbym pokazać jak zainicjalizować kolekcję używając “nowego” mechanizmu wprowadzonego w C# 3.0. Z poprzedniego post’a wiadomo, że właściwości można ustawiać tak:internalclass Person { public Person() { } public List

Tagi: C#
Dziel się z innymi:
Piotr Zieliński » Inicjalizacja obiektów z kolekcjami.

Inne 4193 dni, 15 godzin, 14 minut temu pzielinski 116 źrodło rozwiń

W zeszłym tygodniu na dotNETomaniaku wypromowano artykuł na temat interfejsów. Zapoznałem się z nim i odnoszę wrażenie, że autor nie rozumie w pełni roli interfejsu i myli go z klasą bazową. O taką pomyłkę rzeczywiście nietrudno, wiele klas buduje bowiem swoją funkcjonalność na podstawie interfejsów, ale to nie oznacza automatycznie, że interfejs jest ich przodkiem, zaczynem. Trzeba zacząć od tego, że choć interfejs umieszcza się w definicji klasy tak samo jak klasę dziedziczoną...

Źródło: paskol.robi.to
Dziel się z innymi:
Me z .NET tete-a-tete » Interfejs (chciałbym sprostować), to nie jest klasa bazowa

Sztuka programowania 4193 dni, 18 godzin, 26 minut temu PaSkol 97 źrodło rozwiń

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.

Dziel się z innymi:
Use object initializer | Show me the code

Inne 4194 dni, 22 godziny, 48 minut temu psz750 157 źrodło rozwiń

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.

Dziel się z innymi:
Definiowanie oraz odczyt własnych atrybutów « Developer notes

Inne 4196 dni, 6 godzin, 22 minuty temu psz750 119 źrodło rozwiń

Wyrażenia lambda są łatwe w użyciu, ale jak to bywa z takimi ułatwieniami również nieświadomie można spowodować poważne problemy. Przykład:class SampleClass { } class Factory { private Type _type =typeof (SampleClass); public Func

Tagi: C#, Lambda
Dziel się z innymi:
Piotr Zieliński » Code Review: implementacja wewnętrzna wyrażeń lambda oraz metod anonimowych

Sztuka programowania 4196 dni, 6 godzin, 22 minuty temu pzielinski 143 źrodło rozwiń

Notacja węgierska to ZŁOOOOOO! Słychać to ze wszystkich stron i trudno się z tym nie zgodzić. Przedrostki nazw identyfikatorów określające typy takiego identyfikatora nigdy nie były jakimś nowatorskim rozwiązaniem – prędzej protezą. Czy oznacza to jednak, że całość tego pomysłu należy odbierać negatywnie? W mojej opinii nie. A dlaczego - o tym tenże wpis.

Źródło: paskol.robi.to
Dziel się z innymi:
Me z .NET tete-a-tete » O dewaluacji węgierskiej notacji, a także o jej nadinterpretacji

Sztuka programowania 4199 dni, 6 godzin, 27 minut temu PaSkol 148 źrodło rozwiń

Kolejna część artykułu o dobrych i złych praktykach. Zapraszam do lektury: http://msdn.microsoft.com/pl-pl/library/dobre-i-zle-praktyki-w-c-sharp–czesc-6.aspx

Dziel się z innymi:
Piotr Zieliński  » Dobre i złe praktyki w C# – część VI

Sztuka programowania 4199 dni, 6 godzin, 27 minut temu pzielinski 349 ź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.

Tagi: .Net, C#, interface
Dziel się z innymi:
Programowanie w .NET: O interfejsach raz jeszcze

Sztuka programowania 4201 dni, 36 minut temu psz750 197 źrodło rozwiń

1 2... 44 45 46 47 48 49... 72 73

Najaktywniejsi w tym miesiącu