dotnetomaniak.pl

dotnetomaniak.pl - Artykuły z tagiem C#

Niedawno tworząc szablon kontrolki w WPF natknąłem się na pewien problem. Chcąc odwołać się z szablonu do właściwości kontrolki standardowo użyłem rozszerzenia TemplateBinding. Kod się skompilował ale po uruchomieniu aplikacji pojawił się wyjątek. Oto uproszczona postać szablonu...

WPF – TemplateBinding i TemplatedParent a wyzwalacze w szablonie kontrolki « Developer notes

Windows 1968 dni, 4 godziny, 37 minut temu psz750 85 rozwiń

Programiści niskopoziomowi często narzekają na brak pewnych możliwości w C# znanych im z C++ (często ze względu na brak znajomości ich odpowiedników w C#. Po dzisiejszej rozmowie z kolegą na ten temat stwierdziłem, że pokażę jak wykorzystać takie funkcje jak memset, a przy okazji jak pisać biblioteki DLL w C++ dla C# i jak z nich korzystać. Sprawdzimy także, czy zastosowanie takich bibliotek przyśpieszy działanie...

Dziel się z innymi:
Budowanie (w C++) i dynamiczne linkowanie bibliotek DLL w C#

Sztuka programowania 1972 dni, 22 minuty temu bari 295 rozwiń

Co wyświetli poniższy fragment kodu?internalclass Program { publicstaticvoid Main() { var timer =new Timer(TimerCallback, null, 0, 1000); Console.ReadLine(); } privatestaticvoid TimerCallback(Object o) { Console.WriteLine("Callback: "+ DateTime.Now); } } Powyższy konstruktor uruchamia timer i spodziewalibyśmy się, że na ekranie po prostu będą wyświetlane kolejne callbacki. W praktyce jednak dokonywana jest pewna optymalizacja, która ma fatalne efekty. Można zauwa...

Tagi: .Net, C#
Dziel się z innymi:
Piotr Zieliński » Code Review: Garbage Collector a zmienne lokalne w metodach

Sztuka programowania 1972 dni, 17 godzin, 25 minut temu pzielinski 100 rozwiń

autor: Ponownie wrócę do tematyki kompilowania C# w locie. Pisałem wcześniej, że potrzebowałem takiej funkcji aby użytkownicy mojej aplikacji mogli w dowolnym momencie zdefiniować własny algorytm obliczania odległości między dwoma wektorami. Po kilku próbach już wiedziałem jak to zrobić, a chwilę później miałem już zaimplementowaną pierwszą wersję rozwiązania. Przyszła pora wypróbowania nowej zabawki na prawdziwych danych. Uruchomiłem więc aplikację, napisałem krótki skrypt i wystartowałem ...

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

Narzędzia 1973 dni, 23 godziny, 1 minutę temu macko 38 rozwiń

ReadOnlyCollection jest wraperem na kolekcję zabezpieczającym ją przed modyfikacjami. Nie tworzy on ponownie elementów a jedynie przechowuje oryginalną kolekcję, dzięki czemu wszelkie wykonywane bezpośrednio na niej operacje są w nim odzwierciedlane. Zasada działania ReadOnlyCollection jest bardzo prosta: jeżeli wywołana zostanie na nim metoda modyfikująca kolekcję pojawi się wyjątek, w przeciwnym wypadku ta sama metoda zostanie wywołana na oryginalnej kolekcji.

Dziel się z innymi:
Udostępnianie kolekcji tylko do odczytu « Developer notes

Inne 1975 dni, 18 godzin, 30 minut temu psz750 110 rozwiń

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 1978 dni, 11 godzin, 38 minut temu pzielinski 16 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 1979 dni, 12 godzin, 11 minut temu macko 38 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 1981 dni, 3 godziny, 47 minut temu macko 99 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 1982 dni, 23 godziny, 13 minut temu pzielinski 37 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 1983 dni, 6 godzin, 7 minut temu psz750 131 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 1985 dni, 22 godziny, 56 minut temu psz750 130 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 1990 dni, 21 godzin, 59 minut temu http://jstadnicki.blogspot.... 144 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 1992 dni, 19 godzin, 16 minut temu psz750 157 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 1993 dni, 16 godzin, 9 minut temu psz750 180 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 1994 dni, 2 godziny, 51 minut temu pzielinski 109 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 1997 dni, 10 godzin, 50 minut temu pzielinski 96 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 1997 dni, 10 godzin, 50 minut temu psz750 84 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 1999 dni, 16 godzin, 18 minut temu psz750 48 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 1999 dni, 16 godzin, 18 minut temu psz750 53 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 1999 dni, 16 godzin, 18 minut temu psz750 77 rozwiń

1 2... 33 34 35 36 37 38... 63 64
Szkolenia SecurITum

wrzesień

21.
Dev#
Gdansk, Stary Manez
Dodaj nowe Zobacz wszystkie

Najaktywniejsi

1

Paweł Łukasik (32 867,57)

2

macko (32 816,53)

3

pzielinski (27 178,29)

4

gordon_shumway (21 178,88)

5

paduda (20 336,33)

6

psz750 (13 018,14)

7

rroszczyk (10 393,67)

8

Damian (9 580,27)

9

danielplawgo (7 546,05)

10

arek (6 807,95)

11

burczu (6 214,22)

12

PaSkol (5 393,84)

13

lukaszgasior (4 097,38)

14

jj09 (3 818,06)

15

dpawlukiewicz (3 667,19)

16

AdrianBystrek (3 495,85)

17

spetz (3 418,34)

18

jedmac (3 318,39)

19

http://jakub-flor... (3 224,66)

20

CaMeL (2 954,87)