C# 7, Développer en .NET 4.7 avec Visual Studio 2017

Formation complète aux fondamentaux et bonnes pratiques de développement C# 7 et Visual Studio 2017

  • Filière :

    Développement logiciel

  • Sous-filière :

    Microsoft

  • Référence

    SLVS7

  • Durée

    5 jours (35 h)

  • Prix par personne HT

    2 420 € HT

Description

Cette formation sur le langage C# 7 et le Framework .NET vous permettra de maîtriser les fondamentaux et la syntaxe du langage C# en utilisant l’environnement de programmation Visual Studio 2017. S’appuyant sur des exemples concrets, la plateforme .NET  vous sera également présentée afin de bien comprendre l’environnement global sur lequel repose le langage C#

Objectifs pédagogiques

  • Comprendre le rôle du Framework .NET et savoir utiliser ses classes
  • Configurer et utiliser Visual Studio 2017
  • Programmer et maîtriser le langage C# 7
  • Utiliser ADO.NET et LINQ pour accéder aux données d’une base et les manipuler
  • Créer des applications Windows riches en fonctionnalités avec les WinForms
  • Utiliser les fonctionnalités avancées de C#7
  • Comprendre les nouveautés du Framework .Net 4.7 et du langage C# 7

Public cible

Chefs de projet, Architectes techniques, Développeurs

Pré-requis

Connaitre les fonctions de base d’un système d’exploitation et les maîtriser, maîtriser les notions de base de la programmation structurée. Un minimum d’expérience en POO est préférable

Modalités d’évaluation

L’évaluation des acquis se fait tout au long de la session au travers d’ateliers de mise en pratique des notions et concepts abordés pendant la formation.

Méthodes pédagogiques

50 % Théorie / 50 % Pratique

Programme de la formation

Introduction à .Net et à Visual Studio 2017

  • Comprendre le vocabulaire et la philosophie des technologies .NET (.NET, ASP.NET, MVC, ADO.NET, Entity Framework)
  • Une évolution de .NET vers .NET Core ou une séparation ?
  • La place de C# dans l’architecture globale de .NET 4.7
  • Les différences entre C# et VB .neta
  • L’architecture détaillée de .NET (CLR, BCL, compilation Just In Time, etc.)
  • Les différentes familles d’applications .NET 4.7
  • Les différents projets proposés par Visual Studio 2017
  • Comparaison de C# avec d’autres langages (Java, C++…)

Travaux pratiques
Visite guidée de Visual Studio 2017 afin de prendre en main rapidement son environnement de travail

La programmation en C# 7

  • Le modèle Objet avec le langage C# 7
  • Classes et objets : notion de méthode
  • Code géré et gestion de la mémoire
  • Héritage, surcharge et polymorphisme
  • Propriétés, indexeurs et énumérateurs
  • Expression d’initialisation, types anonymes, propriétés automatiques, méthodes d’extension, méthodes partielles et lambda expressions
  • Utilisation des « Generics »
  • Les Dynamic, Paramètres optionnels et paramètres nommés, Interopérabilité COM améliorée, Co et Contra variance
  • Les fonctions avancées du C#7 : appel synchrone et asynchrone, paramètres optionnels, résolution des types génériques, propagation de null, interpolation de chaîne…

Travaux pratiques
Création de classes en C# reprenant les concepts fondamentaux de ce chapitre et la syntaxe associée.
Utilisation de ces classes par d’autres programmes

Les classes incontournables du Framework .NET

  • Classes mathématiques, structures usuelles, gestion des dates
  • Gestion du formatage des chaînes
  • Filtrer l’information grâce aux expressions régulières
  • Conteneurs classiques : listes, listes triées, piles et tables de hashag

Travaux pratiques
Lister, trier, comparer et sélectionner des données grâce à la puissance du Framework .Net

Les entrées / sorties

  • Maîtriser l’encodage des données à travers ses règles et ses formats (ascii, utf-8, etc.)
  • Exemples de problèmes couramment rencontrés (saut de lignes, accents, etc.)
  • Convertisseurs de formats de texte
  • Notion de flux, FileStream/StreamWriter/StreamReader
  • Gestion des entrées/sorties synchrones/asynchrones

Travaux pratiques
Lire et écrire des données dans un fichier texte.
Ré encodage d’une page HTML

Les principes d’ADO .Net

  • Notion de classe client / classe fournisseur en C#7
  • Les classes ADO.Net fournis par C#7
  • Choisir d’accéder aux données avec DataReader ou DataSet ?
  • La nouvelle philosophie de LINQ
  • Un niveau d’indépendance supplémentaire avec ADO.Net Entity Framework (principes)

Travaux pratiques
Manipuler les données d’une base de données avec ADO.Net

La programmation avancée

  • Exceptions : gestion centralisée des erreurs, classes d’exceptions personnalisées, exceptions non- .Net
  • Délégués : délégués et évènements, les délégués comme alternative au polymorphisme

Travaux pratiques
Mettre en place des exceptions et des délégués dans une application .Net

Fenêtres, menus, et composants avec les Windows Forms

  • Présentation des WinForms
  • Les spécificités de ce type de programmation
  • Formulaires hérités et contrôles utilisateur
  • Différents types de contrôles, menus contextuels (popup), presse-papier
  • Assemblies de ressources
  • Application multilingue

Travaux pratiques
Création de formulaires pour afficher les données récupérer dans le TP sur ADO.net

Configuration et déploiement

  • Configuration du déploiement
  • Configuration de l’application
  • Mise en place d’un paramétrage utilisateur
  • Internationalisation d’une application Winforms
  • Utilisation de Windows Installer
  • Utilisation de Click Once

Travaux pratiques
Internationalisation de l’application et déploiement

Application WEB avec ASP.Net et C# 7

  • Qu’est-ce qu’une application ASP.NET ?
  • Principes des Web Services
  • 7Exemples de Web Services en C# 7
  • Introduction à une application portée en ASP.NET
  • Nouveautés de C# 6/7 dans ASP.NET
  • C#, ASP.NET et le modèle MVC

Travaux pratiques
Utilisation de Webservice pour alimenter une application WinForms et envoyer des mails

Evolutions du C# 7 et de Visual Studio 2017

  • Les fonctions locales en C#7
  • Retourner plusieurs valeurs depuis une fonction (tuples)
  • Retour de fonction par référence
  • Décomposer un objet (deconstruct)
  • Pattern matching (correspondance de motifs)
  • Les variables out
  • La notation binaire
  • Les spécialisations des projets avec Visual Studio 2017 (web, mobile, windows, jeux, …)
  • Changement au niveau de l’éditeur de code
  • Support avancé de Javascript (typescript 2.1, ES2016, …)Développement Web backend et frontend
  • Outils pour XAML
  • Outils .NET Core et Docker
  • Support pour le développement mobile (Xamarin, Cordova, …)
  • Support des tests unitaires sous Visual Studio 2017 (MsTest, Live Unit Testing

Travaux pratiques
Création d’une application universelle Windows 10

Qualité

Cette formation est accessible aux personnes en situation de handicap, nous contacter en cas de besoin d’informations complémentaires.

Programme mis à jour le