Zaawansowane programowanie w języku C#

Course outline

Szkolenie dedykowane dla programistów C# chcących udoskonalić swoje umiejętności tworzenia profesjonalnego i niezawodnego kodu dla platformy .NET 4.5. Omawiane są między innymi zagadnienia: LINQ, programowania współbieżnego, dynamicznych typów danych DLR oraz praktycznego wykorzystania API refleksji.

Course syllabus

Technologia LINQ

  • Architektura LINQ
  • LINQ i kolekcje obiektów - LINQ-to-Objects
  • Przegląd operatorów LINQ
  • Tworzenie zaawansowanych zapytań LINQ - złączenia i grupowania wyników zapytań
  • LINQ-to-XML API
  • Expression Trees API - drzewa wyrażeń

Refleksje

  • API refleksji
  • Atrybuty zestawów .NET
  • Praca z informacjami o typach, składowych lub zdarzeniach
  • Programowanie dynamiczne z wykorzystaniem refleksji
  • Implementacja pluginów w C#

Programowanie dynamiczne w C#

  • DLR oraz wiązania dynamiczne (dynamic binding)
  • Implementacja obiektów dynamicznych (np. ExpandoObject)
  • Interoperacyjność z językami dynamicznymi - import skryptów Pythona

Procesy i domeny aplikacji

  • Procesy, domeny aplikacji oraz zestawy CLR
  • Domeny aplikacji
    • tworzenie domen aplikacji
    • komunikacja między domenami aplikacji
    • domeny aplikacji i wątki CLR
    • sandboxing domen aplikacji - tworzenie bezpiecznego środowiska dla pluginów

Programowanie wielowątkowe i asynchroniczne

  • Parallel Extensions - klasa Parallel
  • Parallel LINQ - PLINQ
  • Task Parallel Library
    • klasa Task
    • kontynuacje zadań
    • kooperatywny model anulowania zadań
  • Metody asynchroniczne w C# - async - await
  • Kolekcje thread-safe w .NET Framework

Prerequisites

Dobra znajomość tematów ze szkolenia Programowanie w języku C#

Course duration

3 days, 8 class hours each
On-site course quote

In-house training course.

Run at your company premises.

Get a quote
On-line course quote

In-house training course.

Delivered live in a virtual classroom.

Get a quote
Upcoming public courses

No scheduled dates available for this course?

Request a course