dotnetomaniak.pl - Artykuły z tagiem C#

Programowanie asynchroniczne ma na celu polepszenie interakcji aplikacji z użytkownikiem. Przenosząc długotrwałe operacje na inny wątek, zapewniamy, że interfejs naszej aplikacji nie zostanie zamrożony.

Dziel się z innymi:
Programowanie w .NET: 70-511 Rozdział 9 - programowanie asynchroniczne

Inne 2883 dni, 11 godzin, 59 minut temu psz750 158 źrodło rozwiń

Poprzez mechanizm wiązania danych WPF pozwala w łatwy sposób prezentować zawartość kolekcji obiektów. Jeżeli jednak oprócz samego wyświetlania elementów zależy nam na ich sortowaniu, grupowaniu, filtrowaniu czy nawigacji po nich, standardowe możliwości kolekcji okażą się niewystarczające. W takiej sytuacji idealnym rozwiązaniem będzie użycie widoku kolekcji.

Dziel się z innymi:
Kolekcje w WPF – sortowanie, grupowanie, filtrowanie oraz nawigacja « Developer notes

Windows 2884 dni, 8 godzin, 52 minuty temu psz750 182 źrodło rozwiń

Kiedyś już chciałem poprowadzić cykl wpisów o Reactive Extensions i nawet napisałem pierwszy post wprowadzający do interfejsów IObservable, IObserver. Niestety po drodze przytrafiły się tematy które chciałem najpierw opisać i na końcu zrezygnowałem z tego. W między czasie kilka osób pytało o ten cykl ale nie widziałem sensu ponieważ Maciej Zbrzezny już wykonał kawał dobrej roboty i  opisał to na swoim blogu w bardzo szczegółowy sposób. Dzisiaj postanowiłem jednak napisać kilka postów o RX po swojemu, z t...

Dziel się z innymi:
Piotr Zieliński » Reactive Extensions–wprowadzenie

Sztuka programowania 2884 dni, 19 godzin, 34 minuty temu pzielinski 111 źrodło rozwiń

W zeszłym tygodniu pisałem o zastosowaniu dynamicznych zmiennych. W dzisiejszym wpisie zastanowimy się co dokładnie CLR robi z dynamic i jak to wpływa na wydajność aplikacji. Pierwszy test polega na porównaniu wydajności dodawania dwóch liczb:privatestaticvoid TestStatic() { var stopwatch = Stopwatch.StartNew(); int a =10; int b =45; int c = a + b; stopwatch.Stop(); Console.WriteLine("Static:{0}", stopwatch.ElapsedTicks); } privatestaticvoid TestDynamic() { var stopwatch = Stopwatch...

Dziel się z innymi:
Piotr Zieliński » Słowo kluczowe dynamic: wydajność

Sztuka programowania 2888 dni, 3 godziny, 33 minuty temu pzielinski 97 źrodło rozwiń

W tej części o szablonach dla danych hierarchicznych. Wyświetlając hierarchiczne dane w kontrolkach takich jak TreeView czy Menu możemy użyć HierarchicalDataTemplate. Klasa ta posiada wszystkie właściwości znane z klasy DataTemplate oraz kilka dodatkowych...

Dziel się z innymi:
Programowanie w .NET: 70-511 Rozdział 7 - Binding - Hierarchical Data Templates

Inne 2888 dni, 3 godziny, 33 minuty temu psz750 86 źrodło rozwiń

Data Templates - czyli szablon prezentacji danych określa w jaki sposób użytkownik zobaczy dane prezentowane np. w ListBox-ie. Do tej pory wykorzystywaliśmy dla ListBoxa właściwość DisplayMemberPath. Teraz możemy napisać szablon...

Tagi: .Net, binding, C#
Dziel się z innymi:
Programowanie w .NET: 70-511 Rozdział 7 - Binding - Data Templates

Inne 2890 dni, 9 godzin, 2 minuty temu psz750 48 źrodło rozwiń

W poście omawiającym bindowanie do różnych źródeł danych omawiałem ObjectDataProvider. Tym razem bardziej praktyczny przykład. Scenariusz jest taki: Na formatce jest ListBox oraz dwa TextBox-y do wprowadzania imienia i nazwiska. Baza danych przechowuje klientów. Formatka ma za zadanie wyświetlać wszystkich klientów jeżeli nie wprowadzono wartości filtrów do TextBox-ów, bądź też przefiltrować dane jeżeli filtry zostały wprowadzone przez użytkownika.

Tagi: .Net, binding, C#
Dziel się z innymi:
Programowanie w .NET: ObjectDataProvider - filtrowanie danych

Inne 2890 dni, 9 godzin, 2 minuty temu psz750 53 źrodło rozwiń

Bindowanie do obiektów ADO.NET. Najczęściej obiekty ADO.NET inicjuje się w kodzie, a następnie w XAMLu następuje bindowanie do konkretnej kontrolki...

Tagi: .Net, binding, C#, WPF
Dziel się z innymi:
Programowanie w .NET: 70-511 Rozdział 7 - Binding - bindowanie do różnych typów cz. 2

Inne 2890 dni, 9 godzin, 2 minuty temu psz750 77 źrodło rozwiń

Wszyscy dążymy do oprogramowania, które zawsze działa ale oczywiście musimy przygotować się na przypadki w których wystąpił wyjątek i nie wiadomo jak go obsłużyć. Najgorszą reakcją jest oczywiście pozwolenie aplikacji dalej działać co może spowodować nieoczekiwane efekty oraz popsuć po prostu dane. Musimy wszystko zrobić aby nie dopuścić do niespójności danych. W przypadku gdy wiemy, że aplikacja nie może kontynuować swojego działania musimy bezwzględnie zakończyć cały proces albo AppDomain. Należy po pr...

Dziel się z innymi:
Piotr Zieliński » Zamykanie aplikacji w przypadku awarii: Environment.FailFast

Sztuka programowania 2893 dni, 19 godzin, 56 minut temu pzielinski 128 źrodło rozwiń

Struktura Nullable jest już dobrze znana w świecie .NET. Pozwala na zasymulowanie wartości NULL dla typów prostych (value types). C# posiada jednak wiele ułatwień, które chciałbym opisać w dzisiejszym poście. Prawdopodobnie wiele czytelników korzystało z nich ale nie wiedziała, że to ułatwienie ze strony kompilatora a nie samej struktury Nullable. Zacznijmy od kodu źródłowego Nullable:[Serializable, StructLayout(LayoutKind.Sequential)] publicstruct Nullable

Tagi: C#, NULLABLE
Dziel się z innymi:
Piotr Zieliński » Jak CLR\C# ułatwia pracę z NULLABLE?

Inne 2896 dni, 20 godzin, 21 minut temu pzielinski 155 źrodło rozwiń

Bindowanie to mechanizm wiążący dane z interfejsem je wyświetlającym. Mechanizm ten w WPF jest bardzo rozbudowany i oferuje możliwości nieosiągalne w prosty sposób dla Windows Forms.

Tagi: .Net, binding, C#, WPF
Dziel się z innymi:
Programowanie w .NET: 70-511 Rozdział 6 - Binding

Inne 2896 dni, 20 godzin, 21 minut temu psz750 97 źrodło rozwiń

WPF umożliwia tworzenie dwóch typów kontrolek: User controls - kontrolki zbudowane przez użytkownika, dziedziczą po klasie UserControl. Jest to kontrolka stworzona z kilku innych kontrolek; Custom controls - kontrolki stworzone od zera. Dziedziczą po klasie Control lub ContentControl.

Tagi: .Net, C#, WPF
Dziel się z innymi:
Programowanie w .NET: 70-511 Rozdział 5 - Tworzenie kontrolek w WPF

Inne 2899 dni, 7 godzin, 28 minut temu psz750 118 źrodło rozwiń

Kontrolki WPF zostały przygotowane w ten sposób, aby łatwo można modyfikować ich wygląd. Definicję wyglądu oddzielono całkowicie od kodu definiującego funkcjonalność. Szablony kontrolek tworzone są w XAML-u. Szablon zawiera kompletny opis wyglądu danej kontrolki.

Tagi: .Net, C#, WPF
Dziel się z innymi:
Programowanie w .NET: 70-511 Rozdział 5 - Szablony kontrolek WPF

Inne 2899 dni, 7 godzin, 28 minut temu psz750 148 źrodło rozwiń

Dziś kolejny post z cyklu zastosowanie słowa kluczowego dynamic. Ostatnio pisałem o ExpandoObjet, który jest dynamicznym kontenerem na metody i dane. DynamicObject pozwala z kolei tworzyć wrappery na różne klasy. Zacznijmy od przykładu:internalclass Program { publicclass CustomWrapper : DynamicObject { publicoverridebool TryGetMember(GetMemberBinder binder, outobject result) { result ="Hello World"; returntrue; } publicoverridebool TrySetMem...

Tagi: C#, dynamicobject
Dziel się z innymi:
Piotr Zieliński » Zastosowanie dynamic: DynamicObject

Sztuka programowania 2900 dni, 9 godzin, 56 minut temu pzielinski 91 źrodło rozwiń

Każdy dobry (ten zły także) warsztat nie obędzie się bez odpowiednich narzędzi. Oto zestaw narzędzi, których ja używam.

Źródło: jakubflorczyk.pl
Dziel się z innymi:
Jakub Florczyk » Narzędzia developerskie Windows Phone

W poprzednim wpisie omówiłem kilka mechanizmów walidacji wprowadzanych danych jakie oferuje technologia WPF. Dzisiaj rozszerzę ten temat o kwestie związane z formatowaniem danych oraz konwersją typów. Często zdarza się sytuacja, w której prezentując użytkownikowi pewne dane chcemy określić dla nich własny format. Równie często konieczne jest skonwertowanie wartości wprowadzonej przez użytkownika na docelowy typ danych.

Dziel się z innymi:
WPF – formatowanie danych oraz konwersja typów « Developer notes

Inne 2902 dni, 13 godzin, 31 minut temu psz750 78 źrodło rozwiń

Kiedyś już wspomniałem o słowie kluczowych dynamic. W tym i następnych wpisach chciałbym przedstawić praktyczne zastosowanie tego mechanizmu. Na koniec wyjaśnię, jak dynamic jest zaimplementowany przez CLR i jak bardzo spowalnia aplikację… Programiści używający ASP.NET MVC z pewnością rozpoznają zasadę działania ExpandoObject. Klasa umożliwia tworzenie dynamicznych kontenerów. Na przykład:privatestaticvoid Main(string[] args) { dynamic bag =new ExpandoObject(); bag.FirstName ="Piotr"; bag.LastN...

Dziel się z innymi:
Piotr Zieliński » Zastosowanie dynamic: ExpandoObject

Sztuka programowania 2902 dni, 13 godzin, 31 minut temu pzielinski 106 źrodło rozwiń

Kilka postów wcześniej pisałem o różnicach między const a read-only. Dzisiaj  chciałbym pokazać scenariusz, który pokazuje kiedy NIE używać słowa const. Const jest doskonałym rozwiązaniem dla liczb, które są po prostu ZAWSZE stałe. Przykład? Liczba PI ma jedną wartość i oczywiście nigdy się nie zmieni. Istnieją jednak przypadki gdzie liczby w kodzie są zastępowane stałymi co nie zawsze jest dobrym wzorcem. Rozważmy, że mamy klasę przechowującą pewne parametry algorytmu:namespace ClassLibrary1 { publ...

Tagi: C#, readonly, stałe
Dziel się z innymi:
Piotr Zieliński » Kiedy stałe (const) są złą praktyką?

Sztuka programowania 2906 dni, 5 godzin, 39 minut temu pzielinski 152 źrodło rozwiń

W jednym z ostatnich projektów klient zażyczył sobie sprawdzenie polubienia strony z poziomu aplikacji bez autoryzacji użytkownika. Poniżej rozwiązanie tego problemu z użyciem biblioteki Facebook C# SDK.

Tagi: .Net, API, C#, Facebook, JSON
Źródło: jakubflorczyk.pl
Dziel się z innymi:
Jakub Florczyk » Aplikacje Facebook – sprawdzanie “like” dla strony

Web 2907 dni, 20 godzin, 29 minut temu http://jakub-florczyk.myope... 86 źrodło rozwiń

Dziś trochę o formatowaniu tekstu. Można je wykonać na wiele sposób. Osoby nie znające powyższych interfejsów zwykle tworzą własne metody zwracające wynik w odpowiednim formacie. Załóżmy, że mamy następującą klasę:class PhoneNumber { privatereadonlystring _extension; privatereadonlystring _phoneNumber; public PhoneNumber(string extension,string phoneNumber) { _extension = extension; _phoneNumber = phoneNumber; } } Na przykładzie powyższej klasy będę starał się po kolei pr...

Piotr Zieliński » Formatowanie tekstu oraz atrybuty IFormatProvider, IFormattable, and ICustomFormatter

Sztuka programowania 2907 dni, 20 godzin, 29 minut temu pzielinski 103 źrodło rozwiń

1 2... 40 41 42 43 44 45... 70 71
.NET diagnostic expert
DAC2019baner

Najaktywniejsi

1
(32 895,6)
2
(32 816,53)
3
(27 178,29)
4
(21 178,88)
5
(20 336,33)
6
(13 018,14)
7
(10 531,63)
8
(9 775,28)
9
(8 538,29)
10
(6 837,96)
11
(6 214,22)
12
(5 393,84)
13
(4 157,41)
14
(4 026,73)
15
(3 908,07)
16
(3 599,64)
17
(3 448,35)
18
(3 318,39)
19
(3 224,66)
20
(3 221,43)