Développer une application C# dans un environnement Visual Studio 2017

Maitriser le langage Python et apprendre les bonnes pratiques de développement
December 17, 2018
Maîtriser les API avancées de Java
December 17, 2018

Programme

Introduction à .Net

  • Qu’entend-on par C# et Framework .NET ?
  • Pourquoi parle-t-on parfois indifféremment de C# ou VB .net ?
  • La place de C# dans l’architecture globale de .NET 4.6/4.7
  • Les nouveautés de C# 6/7 et du Framework 4.6/4.7
  • Comparaison de C# avec d’autres langages (Java, C++…)

La programmation en C# 6/7

  • Le modèle Objet avec le langage C#
  • 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# : appel synchrone et asynchrone, paramètres optionnels, résolution des types génériques, propagation de null, interpolation de chaîne…
  • Travaux pratiques
    • Programmer et utiliser des classes en C#

Les classes incontournables du Framework .NET 4.6/4.7

  • 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

  • Notion de flux, FileStream/StreamWriter/StreamReader
  • Convertisseurs de formats de texte Unicode, ANSI…
  • Gestion des entrées/sorties synchrones/asynchrones
  • Travaux pratiques
    • Lire et écrire des données dans un fichier texte

Les principes d’ADO .Net

  • Notion de classe client / classe fournisseur en C#
  • Les classes ADO.Net fournis par C#
  • Choisir d’accéder aux données avec DataReader ou DataSet ?
  • La nouvelle philosophie de LINQ (LINQ to ADO, LINQ to SQL)
  • 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 gérer des données

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

Les plus de C# 6/7

  • Appel synchrone et asynchrone
  • Paramètres optionnels
  • Résolution des types génériques
  • Opérateurs conditionnels NULL
  • Index et initialiseurs
  • Travaux pratiques
    • Tirer profit des nouveautés du C# 6 dans une application existante

Ouverture du champ d’application avec le Framework .NET 4.6/4.7

  • Opérations asynchrones sur les fichiers
  • Prise en charge du protocole de WebSockets
  • Intégration dans Windows 10
  • Travaux pratiques
    • Création d’une application universelle Windows 10

ASP.Net et C# 6/7

  • Qu’est-ce qu’une application ASP.NET ?
  • Principes des Web Services
  • Exemples de Web Services en C# 6/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
    • Création d’une application en ASP.NET