Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

C# Cz.7 Refleksja, Atrybuty krzysiek.fediuk@gmail.com.

Podobne prezentacje


Prezentacja na temat: "C# Cz.7 Refleksja, Atrybuty krzysiek.fediuk@gmail.com."— Zapis prezentacji:

1 C# Cz.7 Refleksja, Atrybuty

2 Agenda Przypomnienie zeszłego semestru Co to jest refleksja?
Refleksja w C# Pierwsze zadanie Atrybuty Do dzieła!

3 Przypomnienie Słowa kluczowe w C# Co to polimorfizm?
Jak go osiągnąć MSDN Twoim przyjacielem en-us/library/gg aspx Ewentualnie resharper…

4 Przypomnienie - Kolekcje
Pętla foreach IEnumerable List, Dictionary List<T>, Dictionary<T,U>

5 Przypomnienie – IO File, Directory StreamReader, BinaryReader

6 Przypomnienie – pytania?

7 Co to jest refleksja? RTTI – RunTime Type Information
Czy zmienna jest typu int czy string? 1 vs ”1” Refleksja pozwala w łatwy sposób zarządzać kodem tak, jakby był danymi.

8 Refleksja w C# Type Kompletna informacja o typie: GetType() typeof()
Nazwa Rodzaj Pola, metody, zdarzenia Atrybuty

9 Refleksja w C# MethodInfo ConstructorInfo Invoke Nazwa Parametry
Zwracany typ Klasa gdzie była zadeklarowana Itp… ConstructorInfo Podobnie Invoke Wywołanie metody lub stworzenie obiektu

10 Pozostałe Typeof(string[]) Wartości enum’ów
GetElementType() Wartości enum’ów Getery i Setery dla property Parametry generyczne

11 StackTrace Dobieranie się do metod wyżej Wykorzystywane w logowaniu
new StackTrace(); Wykorzystywane w logowaniu st.GetFrame([1,2,,n]).Name I profilowaniu Kosztowne!

12 Pierwszy program Parametry linii poleceń Stwórzcie klasę ConsoleApp
W niej metodę która przyjmuje obiekt klasy dziedziczącej i args Jak to zrobić statycznie a jak niestatycznie? Sparsować argumenty i ustawić wszystkie property w przekazanym obiekcie Stworzyć właściwą klasę aplikacji i załadować parametry

13 Atrybuty Metadane w kodzie Można dodawać praktycznie na wszystkim
Przykłady [Serializable] [Obsolete] [STAThread] By definiować własne dziedziczymy z klasy Attribute Można dodać [AtributeUsage]

14 Do dzieła Poprzedni program ma pewne wady: Dodajcie atrybuty
Wszystkie property są jednakowo traktowane int Size vs int AccountBalance Dodajcie atrybuty ConsoleParam(object defaultValue) ConsoleValidator(Type validator) Zmieńcie metodę parsującą by dostosować ją do nowych atrybutów


Pobierz ppt "C# Cz.7 Refleksja, Atrybuty krzysiek.fediuk@gmail.com."

Podobne prezentacje


Reklamy Google