C# avancé

But 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#.

Description

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é.

Objectifs

- 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.
- Programmer avec les instructions parallèles et asynchrones pour maximiser la performance du logiciel sur les systèmes multicœurs.
- Récupérer des composantes créées avant .NET (COM).

Méthodologie

Exposé interactif (50%), démonstration (10%), exercices (40%)

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#.

Contenu

Les nouveautés de C# 6

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
  • Générer du code dynamiquement avec Reflection Emit et CodeDOM
  • 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
  • LinqPad

Optimisation de performance et exploitation des CPU multicœur

Programmation multithread, parallèle et asynchrone

  • Threading versus Parallélisme
  • Nouveautés apportées par .NET 4 : 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 COM

  • Le nouveau mot-clé dynamic avec .NET 4
  • Piloter Office (Word, Excel...) avec C#
  • Implémenter IDispose
Laurent Duveau

Laurent Duveau

Formateur en technologies Microsoft

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, il 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.