dotnetomaniak.pl

dotnetomaniak.pl - Artykuły z tagiem C#

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 1437 dni, 14 godzin, 1 minutę temu psz750 76 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 1441 dni, 55 minut temu pzielinski 128 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 1444 dni, 1 godzinę, 20 minut temu pzielinski 152 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 1444 dni, 1 godzinę, 20 minut temu psz750 90 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 1446 dni, 12 godzin, 27 minut temu psz750 116 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 1446 dni, 12 godzin, 27 minut temu psz750 141 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 1447 dni, 14 godzin, 55 minut temu pzielinski 89 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

Mobile development 1447 dni, 14 godzin, 55 minut temu http://jakub-florczyk.myope... 94 rozwiń

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 1449 dni, 18 godzin, 30 minut temu psz750 75 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 1449 dni, 18 godzin, 30 minut temu pzielinski 99 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 1453 dni, 10 godzin, 38 minut temu pzielinski 148 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 1455 dni, 1 godzinę, 28 minut temu http://jakub-florczyk.myope... 79 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 1455 dni, 1 godzinę, 28 minut temu pzielinski 97 rozwiń

W C# istnieje wiele typów tablic. W poście chciałbym skupić się na ich wydajności. Rozważę następujące przypadki: - tablica wielowymiarowa, - tablica tablic tzw. jagged. - tablica unsafe. Tablice wielowymiarowe w c# są najwolniejsze ponieważ CLR nie wykonuje wszystkich optymalizacji. Zacznijmy jednak od testu:internalclass Program { privatestaticvoid DoSomething(int arg) { } privatestaticvoid MultiDimensionalArrayTest(int xCount, int yCount) { int[,] array =newint[xCount, ...

Dziel się z innymi:
Piotr Zieliński » Tablice danych: wydajność

Sztuka programowania 1458 dni, 21 godzin, 33 minuty temu pzielinski 149 rozwiń

Jedną z podstawowych kwestii przy budowie interfejsu użytkownika jest walidacja wprowadzanych danych. WPF w tym obszarze oferuje kilka mechanizmów. Dzisiaj zajmę się omówieniem trzech rozwiązań: walidacja poprzez implementację interfejsu IDataErrorInfo (DataErrorValidationRule), walidacja za pomocą wyjątków (ExceptionValidationRule) oraz walidacja przy wykorzystaniu własnych obiektów reguł (ValidationRule).

Dziel się z innymi:
WPF – walidacja danych « Developer notes

Inne 1458 dni, 21 godzin, 33 minuty temu psz750 186 rozwiń

Manipulując stanem encji, należy pamiętać o dwóch zasadach. Dotyczą one zapisu zmian do bazy danych po zakończeniu pracy z obiektami i ustawianiu im stanów.

Dziel się z innymi:
Programowanie w .NET: O czym pamiętać przy zmianie stanu encji w EF

Inne 1460 dni, 21 godzin, 37 minut temu psz750 151 rozwiń

Encja pobrana z bazy za pomocą EntityFramework może mieć jeden z następujących stanów: Added - encja jest śledzona przez kontekst, ale nie istnieje w bazie danych Unchanged - encja jest śledzona przez kontekst oraz istnieje w bazie danych. Wartości pól są takie same w bazie jak i obiekcie (nie dokonano żadnych zmian).Modified - encja jest śledzona przez kontekst, istnieje w bazie danych. Dokonano zmian w jej polach Deleted - encja jest śledzona przez kontekst i istnieje w bazie danych. Została jednak ozn...

Dziel się z innymi:
Programowanie w .NET: Entity Framework - Graph Object State

Inne 1460 dni, 21 godzin, 37 minut temu psz750 89 rozwiń

Czasami metody mają zbyt dużo parametrów przez co wywołanie ich jest niewygodne i może zajmować nawet dwie linie. Oczywiście pierwsza rzecz, którą powinniśmy zrobić jest sprawdzenie czy metoda czasami nie wykonuje zbyt wielu operacji tzn. przestrzega zasadę Single Responsibility.  Jeśli mamy pewność, że metoda przestrzega wszelkie zasady i jest dobrze zaprojektowana wtedy trzeba pomyśleć jak zmniejszyć liczbę parametrów. W poście przedstawię kilka prób uzyskania takiego efektu. Logiczne wydaje się, utwo...

Tagi: C#, parametry
Dziel się z innymi:
Piotr Zieliński » Metoda z wieloma parametrami

Sztuka programowania 1460 dni, 21 godzin, 37 minut temu pzielinski 137 rozwiń

Dziś prosta zasada przekazywania parametrów ale jednak często łamana. Kod:privatestaticvoid Display(string[] strings) { foreach (string text in strings) { Console.WriteLine(text); } } Powyższa metoda ma za zadanie wyświetlenie wyłącznie elementów. Parametr wejściowy (tablica string’ów) jest zbyt specyficzny i nie pozwala na przekazanie wszystkich zbiorów danych. Na przykład poniższy kod nie skompiluje się:List

Tagi: C#, parametry
Dziel się z innymi:
Piotr Zieliński » Code Review: przekazywanie parametrów

Sztuka programowania 1463 dni, 18 godzin, 26 minut temu pzielinski 193 rozwiń

Przyjrzyjmy się następującemu fragmentowi kodu:publicclass SampleClass { privateint _value =10; } W rzeczywistości zostanie wygenerowany konstruktor, ustawiający pole value na 10. Kod IL:.method public hidebysig specialname rtspecialname instance void .ctor() cil managed { .maxstack 8 L0000: ldarg.0 L0001: ldc.i4.s 10 L0003: stfld int32 SampleClass::value L0008: ldarg.0 L0009: call instance void [mscorlib]System.Object::.ctor() L000e: nop L_000f: ret } Na...

Tagi: C#, konstruktor, pola
Dziel się z innymi:
Piotr Zieliński » Inicjalizacja pól a konstruktory

Sztuka programowania 1467 dni, 1 godzinę, 12 minut temu pzielinski 63 rozwiń

1 2... 21 22 23 24 25 26... 51 52
Accenture
Szkolenia SecurITum
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 383,4)

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,52)

8

Damian (9 011,08)

9

danielplawgo (7 235,99)

10

arek (6 642,77)

11

burczu (6 214,22)

12

PaSkol (5 393,84)

13

lukaszgasior (4 097,38)

14

jj09 (3 408,06)

15

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

16

CaMeL (2 954,87)

17

jedmac (2 714,34)

18

mnikolajuk (2 596,93)

19

lkurzyniec (2 466,02)

20

FutureProcessing (2 460,11)