dotnetomaniak.pl

dotnetomaniak.pl - Artykuły z tagiem C#

Na moim blogu co jakiś czas można znaleźć informacje dotyczące pisania dobrego oraz złego kodu w c#. Oprócz tego zacząłem pisać serie artykułów związanych z tą tematyką. Wiele informacji w tych artykułach można było znaleźć już wcześniej na moim blogu ale myślę, że ten cykl stanowi dobre dopełnienie i podsumowanie tego wszystkiego co piszę tutaj. Oczywiście artykuły rozszerzają tematykę, oraz zawierają więcej przykładów więc tym bardziej zachęcam do lektury. Dziś została opublikowana pierwsza część: ht...

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

Sztuka programowania 1674 dni, 3 godziny, 17 minut temu pzielinski 524 rozwiń

Dziś czas na kolejną metrykę badania kodu  – TypeRank. Wartość metryki jest liczona za pomocą algorytmu Google Page Rank, który jest wykorzystywany przez wyszukiwarki do indeksowania stron. W świecie wyszukiwarek internetowych im większa wartość tym strona znajdzie się wyżej podczas prezentowania wyników. Algorytm bada powiązania między stronami internetowymi. Strona dostaje wyższą ocenę, gdy więcej innych stron wskazuje na nią. Stwierdzono, że skoro do danej strony odwołuje się więcej innych witryn to ...

Tagi: C#, TypeRank
Dziel się z innymi:
Piotr Zieliński » Metryka TypeRank

Sztuka programowania 1677 dni, 4 godziny, 6 minut temu pzielinski 70 rozwiń

W ostatnim wpisie pokazałem w jaki sposób wczytać i uruchomić paczkę Integration Services w aplikacji .NET. Dzisiaj rozszerzę ten temat, prezentując kod C# pozwalający na pobranie danych z paczki SSIS zawierającej komponent DataReader Destination. Komponent ten poprzez interfejs DataReader udostępnia aplikacjom zewnętrznym zestaw danych z elementu DataFlow.

Dziel się z innymi:
SSIS DataReader Destination – odczyt danych w aplikacji .NET « Developer notes

Inne 1678 dni, 3 godziny, 16 minut temu psz750 136 rozwiń

Dziś trochę o matematycznej walidacji kodu czyli o metrykach.  LCOM (lack  cohesion of methods) umożliwia obliczenie jak bardzo nasze metody są spójne. Do obliczania tej wartości istnieją gotowe narzędzia takie jak nDepend, ale aby w pełni zrozumieć znaczenie metryki obliczymy sami jej wartość dla prostej klasy. Powinno dążyć się do jak największej spójności a tym samym do jak najniższej wartości LCOM. Przed wyjaśnieniem czym jest metryka LCOM wprowadźmy następujące pojęcia: M – zbiór metod danej klasy...

Tagi: C#, Code review
Dziel się z innymi:
Piotr Zieliński » Code review: Badanie spójności kodu

Sztuka programowania 1680 dni, 3 godziny, 54 minuty temu pzielinski 219 rozwiń

W ostatnim poście opisałem atrybut ThreadStatic pozwalający na korzystanie ze statycznych pól w sposób niezależny w każdym wątku. Dziś pora na analogiczną klasę, wprowadzoną w .NET 4.0 – ThreadLocal. Zacznijmy od przykładu:class ClassA { private ThreadLocal

Tagi: C#, ThreadLocal
Dziel się z innymi:
Piotr Zieliński  » Klasa ThreadLocal

Sztuka programowania 1683 dni, 9 godzin, 36 minut temu pzielinski 62 rozwiń

Telefony z Windows Phone wyposażone są w wibrację, z której możemy korzystać zarówno w grach jak i normalnych aplikacjach. Podstawowe API kontrolera wibracji (VibrateController) pozwana na pojedynczą wibrację, która trwa określony czas. Problem pojawia się gdy chcemy “zagrać” sekwencję wibracji o różnych czasach trwania, z różnymi przerwami. Poniżej przedstawiam klasę VibrationProvider.

WP XNA 6: Wygodne zarządzanie wibracją (VibrationProvider) | Wojciech Poniatowski [PL]

Mobile development 1683 dni, 9 godzin, 36 minut temu poniat 43 rozwiń

W dzisiejszym temacie przedstawię przykładowy kod C# umożliwiający załadowanie i uruchomienie paczki Integration Services. Na początku w projekcie konieczne jest dodanie referencji do Microsoft.SQLServer.ManagedDTS.dll. Wszystkie użyte klasy znajdują się w przestrzeni Microsoft.SqlServer.Dts.Runtime.

Dziel się z innymi:
Załadowanie i uruchomienie paczki SSIS z poziomu aplikacji .NET « Developer notes

Inne 1683 dni, 14 godzin, 52 minuty temu psz750 144 rozwiń

Na blogu Pawła Potasińskiego istnieje wpis o sposobach konwersji polskich liter zakodowanych w standardzie Mazovia w środowisku SQL Serwera. Jednym z tych sposobów jest zrealizowanie konwersji za pomocą funkcji rozszerzonej, napisanej w .NET. Niestety, nie wykorzystuje ona standardowych mechanizmów konwersji .NET (Encoding), ale zwykłą podmianę znaków (Replace). Dlaczego klasa Encoding nie podołała temu zadaniu i jak mimo wszystko zmusić ją do niego? Odpowiedź w tym wpisie.

Źródło: paskol.robi.to
Dziel się z innymi:
Me z .NET tete-a-tete » Drogie Panie i Panowie, oto sposób na Mazowię.

Bazy danych i XML 1683 dni, 23 godziny, 13 minut temu PaSkol 117 rozwiń

W C# istnieje dość mało popularny atrybut ThreadStaticAttribute. Do czego on służy? Zacznijmy od przykładu:internalclass Program { [ThreadStatic] privatestaticint _value; privatestaticvoid Main(string[] args) { Thread thread1 =new Thread(PrintValue); Thread thread2 =new Thread(PrintValue); thread1.Start(4); thread1.Join(); thread2.Start(); } staticprivatevoid PrintValue(object args) { if(args!=null) _value = (int) ar...

Dziel się z innymi:
Piotr Zieliński » Atrybut ThreadStaticAttribute

Sztuka programowania 1685 dni, 3 godziny, 41 minut temu pzielinski 91 rozwiń

W ostatnich postach pisałem o słabych referencjach oraz podałem przykładowe implementacje obsługi zdarzeń. Niestety mimo generycznego rozwiązania, jednej wady nie udało się usunąć a mianowicie tzw. sacrifice object. Przed rozpoczęciem czytania tego wpisu zachęcam  najpierw do zapoznania się z poprzednimi. WeakEventManager to klasa WPF. Jak wspomniałem, często nie wiemy kiedy listener jest usuwany z pamięci w różnego rodzaju kontrolkach. Z tego względu to właśnie WPF dostarcza odpowiednią klasę. W wersji...

Tagi: C#, WPF
Dziel się z innymi:
Piotr Zieliński » WeakEventManager  w WPF 4.5

Windows 1688 dni, 2 godziny, 48 minut temu pzielinski 86 rozwiń

W WPF dostępne są klasy ItemsPanelTemplate i DataTemplate, dzięki którym możemy zdefiniować własny układ oraz wygląd elementów prezentowanych przez wybraną kontrolkę. W tym temacie pokażę zastosowanie wspomnianych klas na przykładzie obiektu ListView wyświetlającego elementy kolekcji.

WPF – własny układ oraz wygląd elementów dzięki ItemsPanelTemplate i DataTemplate « Developer notes

Windows 1689 dni, 2 godziny, 19 minut temu psz750 234 rozwiń

W poprzednim poście podałem prostą implementację zdarzeń opartych na słabych referencjach. Zachęcam najpierw do przeczytania poprzedniego wpisu bo bez niego będzie ciężko zrozumieć dzisiejszy post. Dziś implementacja zaproponowana na blogu Paul Stovell’a:publicsealedclass WeakEventHandler

Tagi: C#, weak event
Dziel się z innymi:
Piotr Zieliński » Weak event patterns, część II

Architektura 1691 dni, 10 minut temu pzielinski 130 rozwiń

W dzisiejszym wpisie zajmę się tematem łączenia kolekcji obiektów przy użyciu mechanizmów dostępnych w LINQ. Pokażę przykłady zastosowań metod Concat, Union, Intersect, Except oraz klauzuli Join (zarówno dla złączeń wewnętrznych jak i zewnętrznych). Dla każdego przykładu złączenia kolekcji przedstawię analogiczny sposób łączenia zbiorów danych w języku SQL.

Dziel się z innymi:
Łączenie kolekcji obiektów przy użyciu LINQ « Developer notes

Inne 1692 dni, 16 godzin, 5 minut temu psz750 217 rozwiń

Dziś jak obiecałem, praktyczny przykład wykorzystania WeakReference ( o który mowa była kilka postów wcześniej). Zdarzenia są częstym powodem memory leak.  Na przykład:publicclass ReportViewModel { publicvoid Init(EmployeesViewModel employeesVm) { employeesVm.PropertyChanged+=EmployeesPropertyChanged; } privatevoid EmployeesPropertyChanged(object sender,EventArgs e) { // logika } } Następnie gdzieś w kodzie tworzymy ReportViewModel, wykonujemy jakieś operację i u...

Tagi: C#, WeakReference
Dziel się z innymi:
Piotr Zieliński » WeakReference – weak event pattern

Inne 1693 dni, 3 godziny, 4 minuty temu pzielinski 110 rozwiń

Chciałbym poświęcić kilka postów na opisanie WeakReference oraz praktycznych przykładów wykorzystania tej klasy. W dzisiejszym wpisie strona teoretyczna i opis klasy. Referencje w środowisku .NET można podzielić na słabe (weak references) oraz silne\mocne (strong references).  Silne referencje są wszystkim doskonale znane np:var sampleClass =new SampleClass(); Innymi słowy jest to standardowy typ powiązania. W momencie gdy wszystkie silne referencje zostaną usunięte wtedy GC może zacząć usuwać taki o...

Tagi: C#, WeakReference
Dziel się z innymi:
Piotr Zieliński » WeakReference – wprowadzenie

Sztuka programowania 1698 dni, 14 godzin, 37 minut temu pzielinski 251 rozwiń

Kompilacja to właściwie nic innego jak tłumaczenie z jednego języka na drugi. W przypadku C# (a dokładniej .net-a) to tłumaczenie odbywa się dwa razy. Raz z języka czytelnego dla kompilatorów aminokwasowych (c#) na MSIL czyli na taki w dużym uproszczeniu zarządzalny asembler (zrozumiały przez rzadko którego białkowca) a drugi raz z owego MSIL do takiego już prawdziwego kodu maszynowego, który jest zrozumiały dla krzemiaków. Każdy program w C# może mieć praktycznie nieskończenie wiele wers...

Źródło: www.benedykt.net
Dziel się z innymi:
Jak to jest, że kompilując dwa razy mogę otrzymać różny wynik? | @rek online | Arkadiusz Benedykt

Inne 1700 dni, 21 godzin, 12 minut temu arek 185 rozwiń

W dwóch poprzednich wpisach rozważałem odczyt i zapis danych, które były odzwierciedleniem (obrazem) pamięci w tzw. programach Win32 (czyli pracujących w środowisku 32 bitowych Windows, z bezpośrednim, niezarządzanym dostępem do pamięci). Wypadałoby postawić „kropkę nad i” tj. wspomnieć jeszcze o klasie Buffer oraz opisać związane z nią i klasami Encoding i BitConverter niuanse, które, gdybym umieścił je w poprzednich wpisach, niepotrzebne utrudniły by lekturę ...

Źródło: paskol.robi.to
Dziel się z innymi:
Me z .NET tete-a-tete » Czas kompleksowo ogarnąć reprezentację binarną

Sztuka programowania 1700 dni, 21 godzin, 12 minut temu PaSkol 88 rozwiń

When working with applications that utilize lots of threads and those threads arent particularry long running we can stumble upon a problem that we may lose most of the processing time for thread context switches, so it would be desirable to do all of the processing on a limited number of threads, usualy this can be done using a queue of delegates that each thread will process, but sometimes we cannot have that and still w...

Dziel się z innymi:
[EN] Fibers (series, part 1) | Passion of Programming in .NET

Inne 1702 dni, 3 godziny, 56 minut temu http://badamczewski.blogspo... 157 rozwiń

Ostatnio było dużo o wielowątkowości więc może zmieńmy temat i zajmijmy się przez dwa posty tematyką WPF. Celem dzisiejszego wpisu jest wyjaśnienie klasy VisualCollection, która będzie niezbędna aby omówić tzw. Adorner. W większości przypadków, XAML w zupełności wystarcza jeśli chodzi o tworzenie interfejsu użytkownika. W WPF istnieje jednak drugie podejście pozwalające rysować elementy i kontrolki. Można manualnie stworzyć kolekcje VisualCollection oraz dodać do niej wszelkie obiekty. Na przykład:public...

Dziel się z innymi:
Piotr Zieliński » Klasa VisualCollection

Windows 1702 dni, 16 godzin, 58 minut temu pzielinski 131 rozwiń

W dzisiejszym wpisie pokażę w jaki sposób dla danego obiektu WPF wygenerować kod XAML oraz jak taki kod wczytać dynamicznie podczas działania programu. W tym celu użyję klas XamlWriter i XamlReader.

Dziel się z innymi:
WPF – dynamiczne tworzenie i wczytywanie kodu XAML « Developer notes

Windows 1704 dni, 4 godziny, 35 minut temu psz750 293 rozwiń

1 2... 28 29 30 31 32 33... 52 53
Szkolenia SecurITum

luty

25.

marzec

03.
Wroc#
Wrocław

kwiecień

03.
4developers
Warszawa
Zobacz wszystkie

.NET Developer Days 2015

W tym roku ponownie jak w poprzednim jesteśmy jednym z patronów medialnych konferencji .NET Developer Days. W tym roku jednym z prelegentów będzie Scott Hanselman.  czytaj więcej
2015-07-22

Najaktywniejsi

1

macko (32 816,53)

2

http://pawlos.blo... (31 520,45)

3

pzielinski (27 178,29)

4

gordon_shumway (21 178,87)

5

paduda (20 336,33)

6

psz750 (13 018,14)

7

rroszczyk (10 383,88)

8

Damian (9 011,08)

9

danielplawgo (7 235,99)

10

arek (6 727,86)

11

burczu (6 214,22)

12

PaSkol (5 393,84)

13

lukaszgasior (4 097,38)

14

jj09 (3 418,06)

15

jedmac (3 253,38)

16

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

17

CaMeL (2 954,87)

18

mnikolajuk (2 596,93)

19

spetz (2 533,07)

20

FutureProcessing (2 530,11)