![](/wp-content/uploads/2020/10/component.png)
![](https://gate-training.com/wp-content/uploads/2021/06/dot-net.png)
Formation C#7, Développer en .NET 4.7 avec Visual Studio 2017
5 JoursObjectifs de la formation C# 7
Ce cours 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#.
Concrètement, à l’issue de la formation vous serez capable de :
- Mettre en œuvre ce que vous aurez appris sur le développement objet (classe, méthode, héritage…)
- Comprendre le rôle du framework .NET et savoir utiliser ses classes
- Configurer et utiliser Visual Studio 2017
- Programmer en langage C# 7 tout en disposant des bons réflexes
- Maîtriser la syntaxe du 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 (ce chapitre présente de plus un intérêt pédagogique : héritage, delegate, etc.)
- Utiliser les fonctionnalités avancées de C#7
- Comprendre les nouveautés du Framework .NET 4.7 et du langage C# 7
À qui s’adresse cette formation ?
Public :
Cette formation C# 7 / .NET / Visual Studio s’adresse aux développeurs débutants, développeurs maîtrisant la programmation via un autre langage, développeurs d’applications d’entreprises.
Prérequis :
Pour suivre ce cours, les participants doivent disposer des connaissances suivantes :
- Être familiarisés avec les fonctions de base d’un système d’exploitation et les maîtriser, notamment la manipulation des fichiers
- Maîtriser les notions de base de la programmation structurée, notamment des concepts de base (boucles, variables et paramètres, appels de fonctions…)
- Un minimum d’expérience en concepts de programmation orientée objet est préférable.
Contenu du cours C# 7
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.NET
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 (sauts 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érées dans les Travaux Pratiques 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
Exemples 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
Évolutions de 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 back-end et front-end
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