C# avancé

Description de la formation

Utiliser la réflexion, les génériques, LINQ, le parallélisme et l'asynchronisme ainsi que l’interopérabilité dans des cas complexes de programmation d’applications modernes en C#.

La réalité du développement de logiciels complexes en entreprise nous amène à rencontrer des problématiques et défis que cette formation adresse : réflexion, programmation générique et requêtage LINQ, traitements parallèles (sur matériel multi-cœur) et asynchrones, interopérabilité avec Office.

Objectifs pédagogiques

À la fin de cette formation, le participant sera en mesure de :

  • Utiliser la réflexion pour inspecter et générer dynamiquement du code à l’exécution du programme.
  • Coder avec les génériques pour développer des fonctionnalités et des composantes évolutives et modulables.
  • Expérimenter le requêtage d'objets avec LINQ, exemple complet dans une application qui se connecte à une base de données avec Entity Framework.
  • Programmer avec les instructions parallèles et asynchrones pour maximiser la performance du logiciel sur les systèmes multicœurs.
  • Interopérabilité avec Office: piloter Excel ou Word avec un programme C#.

Méthodologie

Plusieurs méthodes d’apprentissage et outils didactiques permettant de mesurer le progrès et l’intégration des concepts par les participants sont utilisés tout au long de la formation.

  • Exposé
  • Démonstration
  • Travail individuel
  • Exercice informatique

Clientèle visée

Professionnel et technicien spécialisés en TI

Particularité

Les participants à cette formation doivent au préalable avoir des connaissances avec Visual Studio, .NET et C#.

    Rappels sur C# 6

    Les nouveautés de C# 7

    Utilisation de la Réflexion en .NET

    • La réflexion et son application
    • Inspecter et manipuler du code à l'exécution
    • Fournir des metadatas additionnels avec des attributs
    • Concevoir une architecture à plug-in
    • Protéger son code avec l’obfuscation
    • Les bons outils à connaître

    Les génériques

    • Avantages des génériques en C#
    • Les collections et interfaces génériques
    • Créér des classes et méthodes évolutives et modulables
    • Les types nullables

    Requêtage avec LINQ

    • La syntaxe LINQ
    • Exploration des opérateurs (Where, Distinct, OrderBy, Count, Any, OfType, ...) avec exemples concrets
    • Entity Framework et base de données

    Optimisation de performance et exploitation des CPU multicœur

    Programmation multithread, parallèle et asynchrone

    • Threading versus Parallélisme
    • Parallel Linq (PLINQ) et Task Parallel Library (TPL)
    • Programmer avec les Tasks pour optimiser les performances
    • L'asynchronisme simplifié à l'extrême depuis C# 5 : async et await
    • Utiliser Dispatcher et BackgroundWorker dans les projets avec interface utilisateur

    Interopérabilité avec Office

    • Piloter Office (Word, Excel...) avec C#
    • Implémenter IDispose

Témoignages

"Très bon cours. "
Fadi, DESJARDINS

Les clients qui ont suivi cette formation se sont aussi inscrits à :

C# : les fondements
ASP.NET MVC : les fondements
JavaScript avancé