dotnetomaniak.pl - Artykuły z tagiem C#

W poprzednim poście pokazałem jak korzystać z funkcji FromAsyncPattern na przykładzie usługi sieciowej. Dzisiaj zaprezentuję kilka dodatkowych funkcji. Najpierw zdefiniujmy co chcemy uzyskać:Użytkownik może wpisać szukaną frazę w pole edycyjne. Usługa sieciowa ma za zadanie wyszukanie fraz wpisanych w pole zdefiniowane w punkcie 1. Wyłącznie frazy dłuższe niż 3 znaki mają być przetwarzane. Jeśli użytkownik wpisze dwa razy tą samą frazę to tylko pierwsza ma zostać wysłana do usługi (optymalizacja). Zdarze...

Tagi: .Net, C#, Re
Dziel się z innymi:
Piotr Zieliński » Reactive Extensions– Observable.FromAsyncPattern, dalsza część przykładu

Sztuka programowania 4110 dni, 9 godzin, 2 minuty temu pzielinski 16 źrodło rozwiń

autor: Dzisiaj wrócę do tematu użycia języka C# jako języka skryptowego przy pomocy Mono.CSharp.dll i opiszę w jaki sposób przekazać parametry do takiego skryptu. Pominę podejście opierające się o wklejanie do skryptu string'owej reprezentacji takich parametrów i od razu przejdę do bardziej eleganckiego rozwiązania. Bazuje ono na tym co przeczytałem w tym poście. Zaczynamy od utworzenia statycznej klasy ScriptContext, która posłuży nam do wymiany danych pomiędzy skryptem, a naszym programem...

Dziel się z innymi:
Michał Komorowski: Mono C# compiler as a service 2

Narzędzia 4111 dni, 9 godzin, 34 minuty temu macko 42 źrodło rozwiń

autor: Od jakiegoś czasu pracuję nad aplikacją do generowania i analizowania wykresów rekurencyjnych. Temat sam w sobie jest bardzo ciekawy, więc może do niego wrócę w przyszłości, ale dzisiejszy post będzie o czymś innym. Moja aplikacja między innymi wykonuje obliczenia na wektorach np.: oblicza różne odległości (euklidesową, Manhattan czy normę maksimum) między nimi. Dodawanie kolejnych algorytmów wymagało jednak każdorazowej rekompilacji aplikacji. Zacząłem więc szukać sposobu aby umożl...

Dziel się z innymi:
Michał Komorowski: Mono c# compiler as a service

Narzędzia 4113 dni, 1 godzinę, 11 minut temu macko 99 źrodło rozwiń

W ostatnim poście pisałem o konwersji zdarzeń .NET do RX. Dziś chciałbym zaprezentować przydatną funkcję, dostępną w rozszerzeniach Observable – Buffer. Służy ona do podzielenia danych w bufory. Załóżmy, że mamy źródło, które generuje dane co 1 sekundę. W każdej sekundzie zatem otrzymujemy jedno powiadomione OnNext. Co w przypadku jednak gdybyśmy chcieli dostawać w każdym powiadomieniu kilka wartości (tablicę elementów) ? Na przykład zamiast 10 OnNext, chcemy dwa powiadomienia, w którym każde zawiera lis...

Tagi: C#, Rx
Dziel się z innymi:
Piotr Zieliński » Reactive Extensions: Observable.Buffer

Sztuka programowania 4114 dni, 20 godzin, 37 minut temu pzielinski 38 źrodło rozwiń

Tym razem krótko, o czymś co może się przydać nie tylko na egzaminie, ale także w codziennej pracy z zasobami i bindowaniem do nich. Rozważmy cztery przypadki bindowania do zasobów w kodzie.

Tagi: .Net, C#, resources, WPF
Dziel się z innymi:
Programowanie w .NET: Bindowanie do zasobów Dynamic vs Static

Windows 4115 dni, 3 godziny, 31 minut temu psz750 133 źrodło rozwiń

Drag & Drop - przeciągnij i upuść pozwala na wykonywanie określonych operacji w graficznym interfejsie za pomocą myszki. Proces ten, oparty jest na zdarzeniach.

Tagi: .Net, C#, drag&drop
Dziel się z innymi:
Programowanie w .NET: 70-511 Rozdział 10 - Drag & Drop

Windows 4117 dni, 20 godzin, 20 minut temu psz750 130 źrodło rozwiń

Jeśli to czytacie, to znaczy że zdążyłem jeszcze z wpisem przed nowym rokiem.  Udało mi się napisać jeszcze jednego posta przed nowym rokiem - jestem królem świata! Dzisiaj o wykorzystaniu app.config dla własnych celów. Skąd taki pomysł? Otóż jak każdy pewnie ma lub miał w życiu, czasem mieć taką potrzebę aby zmieniać zachowanie aplikacji inaczej niż przez jej przekompilowanie. Wtedy właśnie z pomocą przychodzą pliki .txt, .xml, .config czy dawno dawno temu .ini. Można napisać własne system do obsług...

Tagi: C#, konfiguracja
Dziel się z innymi:
jstadnicki: Własna konfiguracja w app.config

Windows 4122 dni, 19 godzin, 23 minuty temu http://jstadnicki.blogspot.... 145 źrodło rozwiń

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 4124 dni, 16 godzin, 40 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 4125 dni, 13 godzin, 33 minuty temu psz750 185 ź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

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 4129 dni, 8 godzin, 14 minut 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 4129 dni, 8 godzin, 14 minut 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 4131 dni, 13 godzin, 42 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 4131 dni, 13 godzin, 42 minuty temu psz750 55 ź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 4131 dni, 13 godzin, 42 minuty temu psz750 78 ź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

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 4138 dni, 1 godzinę, 2 minuty temu pzielinski 156 ź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 4138 dni, 1 godzinę, 2 minuty temu psz750 98 ź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 4140 dni, 12 godzin, 9 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 4140 dni, 12 godzin, 9 minut temu psz750 149 źrodło rozwiń

1 2... 42 43 44 45 46 47... 72 73

Najaktywniejsi w tym miesiącu