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
Laurent Duveau

Laurent Duveau

Formateur en technologies Web et Mobile

Fort de plus de 15 ans d'expérience, Laurent a accompagné avec succès de très nombreuses entreprises, petites et grandes, dans leur stratégie de développement sur les outils Microsoft, avec dernièrement un accent sur Windows 10, le cloud Azure et tout ce qui touche au Web ou la mobilité, comme Xamarin. Entrepreneur dédié aux technologies Microsoft, Laurent a acquis son expertise dans le développement d'affaires, la gestion d'équipe, l’accompagnement et la réalisation de projets en développement logiciel des start-up, jusqu'aux multinationales, principalement au Canada et en Europe.

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

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