• Aide
  • Eurêkoi Eurêkoi

Livre

C# 8 : développez des applications Windows avec Visual Studio 2019

Résumé

Découverte des bases de C# 8 et des possibilités les plus avancées offertes par ce langage, Visual Studio et le framework. Avec un exemple de code de l'application à télécharger sur Internet. ©Electre 2019


  • Éditeur(s)
  • Date
    • cop. 2019
  • Notes
    • La couv. porte en plus : "En téléchargement : des exemples de code" ; "Informatique technique" ; "+ quiz" ; "Version numérique offerte ! www.editions-eni.fr"
    • La 4e de couv. porte en plus : "Sur www.editions-eni.fr : le code source des exemples du livre"
    • Contient un "flashcode" permettant d'accéder à un contenu via Internet
  • Langues
    • Français
  • Description matérielle
    • 1 vol. (518 p.) : ill. ; 21 cm
  • Collections
  • Sujet(s)
  • ISBN
    • 978-2-409-02004-9
  • Indice
  • Quatrième de couverture
    • C& 8 - Développez des applications Windows avec Visual Studio 2019

      Ce livre sur le développement d'applications Windows avec le langage C# (en version 8) et Visual Studio 2019 est destiné aux développeurs qui débutent avec le framework .NET. Il leur permet d'apprendre les bases du langage C# et introduit des concepts plus avancés leur donnant une vue d'ensemble des possibilités offertes par le langage C#, Visual Studio et le framework .NET en général. L'auteur a choisi une approche pas à pas tout en construisant une application fonctionnelle tout au long de l'ouvrage pour illustrer de manière pratique et cohérente les concepts abordés.

      L'apprentissage commence par la familiarisation avec l'interface de Visual Studio 2019 ainsi qu'avec le concept de l'architecture .NET. Les détails du langage C#, sa syntaxe et ses fonctionnalités comme les classes, l'héritage, les interfaces, les types génériques ou encore les délégués et les évènements sont ensuite expliqués avant d'aborder la conception d'interfaces utilisateur.

      La conception de l'interface utilisateur couvre toutes les phases utiles pour créer des applications Windows à la fois fonctionnelles et ergonomiques, allant de la création de formulaires à la création de contrôles en passant par l'implémentation de gestionnaire d'évènements et la validation des données saisies. Une introduction à la conception d'application WPF est également incluse.

      Les outils de Visual Studio qui permettent de réaliser les tests et le débogage des applications sont également détaillés en présentant les techniques de gestion des erreurs mais aussi les concepts permettant de surveiller les applications comme le traçage, l'interaction avec les journaux d'évènements et l'utilisation des compteurs de performance.

      L'utilisation de Entity Framework est détaillée au sein d'exemples concrets permettant de comprendre rapidement comment créer des modèles de données et comment les utiliser pour communiquer avec une base de données, tout en apprenant à utiliser le langage de requête LINQ pour interagir avec des données sous différents formats (objets, SQL ou XML). L'alternative au stockage de données d'une application sur le système de fichiers et l'utilisation du concept de la sérialisation sont également détaillés, fournissant ainsi une vision globale des possibilités offertes par le framework .NET concernant la gestion des données.

      Des concepts plus avancés sont également abordés afin d'exposer une gamme plus large des possibilités offertes par le langage C# et Visual Studio : l'utilisation des expressions régulières, le développement d'applications multitâches et asynchrones, la globalisation et la localisation d'une application, la sécurité du code, l'implémentation d'applications client/serveur, le dessin avec GDI+ ainsi que la réflexion font partie des sujets introduits.

      La dernière partie de l'ouvrage est consacrée à la création d'assemblages ainsi qu'au déploiement des applications. Les outils et techniques mis à disposition par Visual Studio pour créer des installeurs Windows et configurer les applications y sont détaillés.


  • Tables des matières
      • C# 8

      • Développez des applications Windows avec Visual Studio 2019

      • Avant-propos
      • Chapitre 1
        Travailler avec Visual Studio 2019
      • 1. Introduction17
      • 2. L'interface de développement18
      • 2.1 L'éditeur de texte20
      • 2.2 Le concepteur de vues25
      • 2.3 Le débogueur intégré26
      • 2.4 Le gestionnaire d'extensions27
      • 2.5 NuGet29
      • 2.6 Fenêtres personnalisées31
      • 3. La création de solutions31
      • 3.1 Définir le point d'entrée32
      • 3.2 La différence entre projets et solutions33
      • 3.3 Configurer le projet34
      • 3.4 La conversion de solutions37
      • 3.5 Les projets partagés37
      • 3.6 Les outils de refactorisation38
      • Chapitre 2
        L'architecture .NET
      • 1. Introduction41
      • 2. CLR42
      • 3. Les bibliothèques de classes42
      • 4. Les types45
      • 4.1 Les types valeur46
      • 4.2 Les types référence47
      • Chapitre 3
        Introduction au langage C#
      • 1. La syntaxe49
      • 1.1 Les identifiants49
      • 1.2 Les mots-clés49
      • 1.3 La ponctuation51
      • 1.4 Les opérateurs52
      • 1.4.1 Les opérateurs de calcul52
      • 1.4.2 Les opérateurs d'assignation53
      • 1.4.3 Les opérateurs de comparaison53
      • 1.5 La déclaration de variables54
      • 1.6 Les instructions de contrôle55
      • 1.6.1 Les instructions conditionnelles55
      • 1.6.2 Les instructions itératives60
      • 1.6.3 Les instructions de saut62
      • 1.7 Les commentaires64
      • 2. Les espaces de noms67
      • 2.1 Le mot-clé using68
      • 2.2 Le mot-clé alias68
      • 2.3 Les classes statiques69
      • 3. Les types de base69
      • 3.1 Les types numériques69
      • 3.1.1 Les entiers70
      • 3.1.2 Les décimaux71
      • 3.2 Les booléens71
      • 3.3 Les chaînes de caractères71
      • 3.4 Les types nullable73
      • 3.5 La conversion de types75
      • 3.5.1 La conversion implicite75
      • 3.5.2 La conversion explicite76
      • 4. Les constantes et les énumérations76
      • 4.1 Les constantes76
      • 4.2 Les énumérations77
      • 5. Les tableaux80
      • 6. Les collections81
      • 7. Les directives preprocessor83
      • Chapitre 4
        La création de types
      • 1. Introduction87
      • 2. Les niveaux d'accès88
      • 3. Les structures89
      • 4. Les classes90
      • 4.1 Les champs90
      • 4.2 Les propriétés91
      • 4.3 Les méthodes93
      • 4.3.1 La surcharge95
      • 4.3.2 Les paramètres95
      • 4.3.3 Les tuples102
      • 4.4 Les constructeurs102
      • 4.5 Les destructeurs104
      • 4.6 Les classes et membres statiques104
      • 4.7 Les classes partielles105
      • 4.8 Le mot-clé this106
      • 4.9 Les indexeurs108
      • 4.10 La surcharge d'opérateurs109
      • 4.10.1 Les opérateurs arithmétiques110
      • 4.10.2 Les opérateurs de comparaison112
      • Chapitre 5
        L'héritage
      • 1. L'héritage de classe115
      • 1.1 Implémenter l'héritage115
      • 1.2 Les membres virtuels117
      • 1.3 Masquer les membres hérités117
      • 1.4 Le mot-clé base118
      • 1.5 Les classes et membres abstraits119
      • 1.6 Les classes et les méthodes scellées120
      • 1.7 Les constructeurs dérivés121
      • 1.8 Le polymorphisme123
      • 2. Les interfaces125
      • 2.1 L'implémentation d'interfaces125
      • 2.2 Le polymorphisme d'interface127
      • 2.3 L'héritage d'interfaces129
      • Chapitre 6
        Types génériques
      • 1. Introduction131
      • 2. La création de types génériques132
      • 3. Les contraintes de type134
      • 4. Les interfaces génériques135
      • 4.1 La variance dans les interfaces génériques136
      • 4.1.1 La covariance136
      • 4.1.2 La contravariance137
      • 4.2 La création d'interfaces génériques variantes138
      • 4.3 L'héritage d'interfaces génériques variantes139
      • 5. La création de méthodes génériques140
      • 6. Valeur par défaut générique142
      • 7. L'héritage de classe générique143
      • Chapitre 7
        Délégués, événements et expressions lambda
      • 1. Les délégués145
      • 1.1 Les paramètres de méthode146
      • 1.2 Les méthodes cibles multiples147
      • 1.3 Les délégués génériques148
      • 1.4 La compatibilité des délégués148
      • 2. Les événements150
      • 3. Les expressions lambda153
      • 3.1 L'utilisation des expressions lambda154
      • 3.2 Les délégués génériques155
      • 3.3 La capture de variable155
      • 3.4 Les fonctions locales158
      • Chapitre 8
        Création de formulaires
      • 1. Utiliser les formulaires159
      • 1.1 Ajouter des formulaires au projet159
      • 1.2 Modifier le formulaire de démarrage162
      • 1.3 Les propriétés des formulaires162
      • 1.4 Les méthodes des formulaires165
      • 1.5 Les événements des formulaires166
      • 2. Utiliser les contrôles167
      • 2.1 Les types de contrôles167
      • 2.2 Ajouter des contrôles aux formulaires168
      • 2.3 Les propriétés des contrôles170
      • 2.4 Les menus171
      • 2.5 Les conteneurs174
      • 2.6 L'ergonomie175
      • 2.7 Ajouter des contrôles à la boîte à outils176
      • Chapitre 9
        Implémentation de gestionnaires d'événements
      • 1. Introduction179
      • 2. La création de gestionnaires d'événements180
      • 2.1 La mécanique d'un événement181
      • 2.2 L'ajout dynamique d'un gestionnaire d'événement182
      • 2.3 La suppression dynamique d'un gestionnaire d'événements183
      • 3. Les gestionnaires d'événements avancés183
      • 3.1 Un gestionnaire pour plusieurs événements183
      • 3.2 Plusieurs gestionnaires pour un événement184
      • Chapitre 10
        Validation de la saisie
      • 1. Introduction187
      • 2. La validation au niveau des champs187
      • 2.1 Les propriétés de validation187
      • 2.2 Les événements de validation188
      • 2.2.1 KeyDown et KeyUp188
      • 2.2.2 KeyPress189
      • 2.2.3 Validating et Validated189
      • 3. La validation au niveau du formulaire191
      • 4. Les méthodes de retour à l'utilisateur194
      • 4.1 MessageBox195
      • 4.2 ErrorProvider196
      • Chapitre 11
        Création de contrôles utilisateurs
      • 1. Introduction199
      • 2. Les contrôles personnalisés200
      • 3. L'héritage de contrôles202
      • 4. Les contrôles utilisateurs204
      • Chapitre 12
        Création d'applications UWP
      • 1. Introduction211
      • 2. Principes212
      • 3. Les outils de développement214
      • 4. Le langage XAML216
      • 5. Une première application UWP219
      • 5.1 Les bases d'un projet UWP219
      • 5.2 Les contrôles et événements221
      • 5.3 Les styles222
      • Chapitre 13
        Débogage
      • 1. Les types d'erreur227
      • 1.1 Les erreurs de syntaxe227
      • 1.2 Les erreurs d'exécution228
      • 1.3 Les erreurs de logique230
      • 2. Le débogueur230
      • 2.1 Contrôler l'exécution232
      • 2.2 Les points d'arrêt233
      • 2.2.1 Les conditions d'arrêt234
      • 2.2.2 Le nombre d'accès235
      • 2.2.3 Le filtrage236
      • 2.2.4 Les actions236
      • 2.2.5 Exécuter l'exécution jusqu'ici237
      • 2.3 Les Data Tips237
      • 2.4 Les PerfTips238
      • 2.5 Les attributs Caller239
      • 3. Les fenêtres241
      • 3.1 La fenêtre Sortie242
      • 3.2 La fenêtre Variables locales242
      • 3.3 La fenêtre Automatique243
      • 3.4 La fenêtre Espion243
      • 3.5 La fenêtre Exécution243
      • 3.6 Les autres fenêtres244
      • Chapitre 14
        Gestion des exceptions
      • 1. La classe Exception247
      • 2. La création d'exceptions personnalisées248
      • 3. Le déclenchement des exceptions249
      • 4. L'interception et la gestion des exceptions252
      • Chapitre 15
        Monitoring
      • 1. Le traçage259
      • 1.1 Les classes Debug et Trace259
      • 1.2 La collection d'écouteurs262
      • 1.2.1 La création d'écouteurs262
      • 1.2.2 La sauvegarde des traces263
      • 1.3 Les commutateurs de trace265
      • 1.3.1 Le fonctionnement des commutateurs de trace265
      • 1.3.2 La configuration des commutateurs de trace266
      • 2. Les journaux d'événements267
      • 2.1 L'interaction avec les journaux d'événements268
      • 2.2 La gestion des journaux d'événements269
      • 2.3 L'écriture d'événements270
      • 3. Les compteurs de performance271
      • 3.1 La création de compteurs de performance272
      • 3.1.1 Depuis Visual Studio272
      • 3.1.2 Depuis le code273
      • 3.2 L'utilisation de compteurs de performance275
      • 3.3 L'analyse de compteurs de performance278
      • Chapitre 16
        Tests unitaires
      • 1. Introduction aux tests unitaires281
      • 1.1 La création du projet281
      • 1.2 Les classes de tests unitaires282
      • 2. La mise en place d'une série de tests284
      • 2.1 La création de tests au projet284
      • 2.2 Le déroulement des tests285
      • Chapitre 17
        Création du modèle de données
      • 1. Introduction289
      • 2. La création d'un modèle290
      • 3. La création d'entités291
      • 4. La génération de la base de données297
      • 5. La création d'entités à partir du code (Code First)302
      • Chapitre 18
        Présentation d'Entity Framework
      • 1. Introduction307
      • 2. Le mappage308
      • 2.1 La couche logique308
      • 2.2 La couche conceptuelle310
      • 2.3 La couche de mappage313
      • 3. Travailler avec les entités314
      • 3.1 Les entités315
      • 3.2 La classe DbContext317
      • 3.3 Les relations318
      • 3.3.1 Le concept de table par type318
      • 3.3.2 Le concept de table par hiérarchie318
      • Chapitre 19
        Présentation de LINQ
      • 1. Les requêtes LINQ321
      • 1.1 Les syntaxe321
      • 1.2 Les méthodes d'extension322
      • 2. Les opérateurs de requêtes324
      • 2.1 Filtrer324
      • 2.1.1 Where324
      • 2.1.2 OfType <TResult>324
      • 2.1.3 SelectMany325
      • 2.1.4 Skip et Take325
      • 2.2 Ordonner326
      • 2.2.1 OrderBy326
      • 2.2.2 ThenBy327
      • 2.3 Grouper327
      • 2.3.1 GroupBy327
      • 2.3.2 Join328
      • 2.4 Agréger328
      • 2.5 Convertir329
      • 3. Les requêtes parallèles329
      • 3.1 Partitionner une requête330
      • 3.2 Annuler une requête331
      • Chapitre 20
        LINQ to Entities
      • 1. Introduction333
      • 2. Extraire les données334
      • 2.1 L'extraction simple334
      • 2.2 L'extraction conditionnelle335
      • 3. Ajouter, modifier et supprimer des données336
      • 3.1 Ajouter des données336
      • 3.2 Modifier des données337
      • 3.3 Supprimer des données337
      • 3.4 L'envoi des modifications337
      • Chapitre 21
        LINQ to SQL
      • 1. La création de classes LINQ to SQL339
      • 2. L'objet DataContext342
      • 2.1 La méthode ExecuteQuery343
      • 2.2 Utiliser des transactions343
      • 2.3 Les autres membres de DataContext344
      • 3. Exécuter des requêtes avec LINQ345
      • 3.1 Les requêtes simples345
      • 3.2 Les requêtes filtrées346
      • 3.3 Les requêtes de jointure346
      • 4. Les procédures stockées346
      • 4.1 L'ajout de procédures stockées au modèle347
      • 4.2 L'exécution de procédures stockées348
      • Chapitre 22
        LINQ to XML
      • 1. Les objets XML349
      • 1.1 XDocument349
      • 1.2 XElement350
      • 1.3 XNamespace351
      • 1.4 XAttribute352
      • 1.5 XComment352
      • 2. Exécuter des requêtes avec LINQ353
      • 2.1 Les requêtes simples353
      • 2.2 Les requêtes filtrées354
      • 2.3 Les requêtes de jointure354
      • Chapitre 23
        Le système de fichiers
      • 1. Les classes de gestion du système de fichiers355
      • 1.1 DriveInfo355
      • 1.2 Directory et DirectoryInfo357
      • 1.3 File et FileInfo359
      • 1.4 Path362
      • 2. Travailler avec le système de fichiers365
      • 2.1 Les objets Stream365
      • 2.2 La classe FileStream365
      • 2.3 Lire un fichier texte367
      • 2.3.1 Lire avec la classe File367
      • 2.3.2 Lire avec la classe StreamReader368
      • 2.4 Écrire dans un fichier texte370
      • 2.4.1 Écrire avec la classe File370
      • 2.4.2 Écrire avec la classe StreamWriter371
      • Chapitre 24
        Sérialisation
      • 1. Introduction373
      • 2. La sérialisation binaire374
      • 2.1 Les bases374
      • 2.2 Contrôler la sérialisation376
      • 2.2.1 Le contrôle par attribut376
      • 2.2.2 Le contrôle par interface378
      • 3. La sérialisation XML381
      • 3.1 Les bases382
      • 3.2 Contrôler la sérialisation385
      • 3.3 La sérialisation XML SOAP386
      • Chapitre 25
        Expressions régulières
      • 1. Introduction389
      • 2. Une première expression régulière390
      • 3. Les options de recherche391
      • 4. Les caractères d'échappement392
      • 5. Les ensembles392
      • 6. Les groupes394
      • 7. Les ancres395
      • 8. Les quantifieurs396
      • Chapitre 26
        Multithreading
      • 1. Introduction397
      • 2. La classe Thread398
      • 2.1 Créer un thread398
      • 2.2 Suspendre ou annuler un thread399
      • 2.3 Échanger des données avec un thread400
      • 2.4 Verrouiller un thread403
      • 2.5 Priorité des threads404
      • 3. Fonctions asynchrones405
      • 3.1 Task et Task <TResult>406
      • 3.2 async et await408
      • 4. Le composant BackgroundWorker410
      • Chapitre 27
        Globalisation et localisation
      • 1. Introduction413
      • 2. La culture413
      • 3. La globalisation416
      • 4. La localisation418
      • Chapitre 28
        Sécurité
      • 1. Introduction421
      • 2. Les éléments de base422
      • 2.1 L'interface IPermission422
      • 2.2 La classe CodeAccesPermission422
      • 2.3 L'interface IPrincipal423
      • 3. Implémentation de la sécurité424
      • 3.1 La sécurité basée sur les rôles424
      • 3.1.1 Sécurité impérative425
      • 3.1.2 Sécurité déclarative426
      • 3.2 La sécurité basée sur les droits d'accès427
      • 3.2.1 Sécurité impérative427
      • 3.2.2 Sécurité déclarative428
      • 4. Introduction à la cryptographie429
      • Chapitre 29
        Pour aller plus loin
      • 1. Le dessin avec GDI+433
      • 1.1 La classe Graphics434
      • 1.1.1 Les coordonnées434
      • 1.1.2 Les formes435
      • 1.2 La structure Color et les classes Brush et Pen437
      • 1.2.1 La structure Color437
      • 1.2.2 La classe Brush438
      • 1.2.3 La classe Pen438
      • 1.2.4 Les paramètres système439
      • 1.3 Les exemples439
      • 1.3.1 L'affichage de texte439
      • 1.3.2 Redimensionner une image441
      • 2. Le remoting442
      • 2.1 Le principe442
      • 2.2 L'implémentation443
      • 2.2.1 La couche commune443
      • 2.2.2 L'application serveur444
      • 2.2.3 L'application cliente446
      • 3. Reflection450
      • 3.1 La classe System. Type450
      • 3.2 Charger un assemblage dynamiquement452
      • 3.2.1 L'énumération des types452
      • 3.2.2 L'instanciation d'objets453
      • 3.2.3 L'utilisation des membres454
      • Chapitre 30
        Assemblages et configurations
      • 1. Introduction457
      • 2. Les assemblages privés457
      • 3. Les assemblages partagés460
      • 4. Les fichiers de configuration462
      • Chapitre 31
        Déploiement
      • 1. Introduction465
      • 2. Les projets de déploiement466
      • 2.1 XCOPY466
      • 2.2 Projet CAB467
      • 2.3 Projet de module de fusion468
      • 2.4 Projet d'installation468
      • 3. L'assistant Installation469
      • 4. Configuration du projet473
      • 4.1 Les propriétés du projet473
      • 4.2 Les éditeurs de configuration476
      • 4.2.1 Éditeur du système de fichiers477
      • 4.2.2 Éditeur du registre478
      • 4.2.3 Éditeur des types de fichiers479
      • 4.2.4 Éditeur de l'interface utilisateur481
      • 4.2.5 Éditeur des actions personnalisées483
      • 4.2.6 Éditeur des conditions de lancement484
      • Index487

  • Origine de la notice:
    • Electre
  • Disponible - 681.229 HUG

    Niveau 3 - Informatique