• Aide
  • Eurêkoi Eurêkoi

Livre

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

Résumé

Découverte des bases de C# 9 et des possibilités les plus avancées offertes par ce langage, Visual Studio et le framework. L'auteur propose de construire une application fonctionnelle tout au long de l'ouvrage pour aborder les concepts de manière pratique. Avec des compléments à télécharger. Version gratuite en ligne. ©Electre 2021


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

      Ce livre sur le développement d'applications Windows avec le langage C# (en version 9) 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 jounaux 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ées, 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.

      Le code de l'application exemple traitée dans l'ouvrage est en téléchargement sur le site www.editions-eni.fr.


  • Tables des matières
      • C# 9

      • Développez des applications Windows avec Visual Studio 2019

      • Éditions ENI

      • Avant-propos
      • Chapitre 1
      • Travailler avec Visual Studio2019
      • 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 NuCet29
      • 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 solutions34
      • 3.3 Configurer le projet35
      • 3.4 La conversion de solutions38
      • 3.5 Les projets partagés38
      • 3.6 Les outils de refactorisation39
      • Chapitre 2
      • L'architecture .NET
      • 1. Introduction43
      • 2. CLR44
      • 3. Les bibliothèques de classes45
      • 4. Les types47
      • 4.1 Les types valeur48
      • 4.2 Les types référence49
      • Chapitre 3
      • Introduction au langage C#
      • 1. La syntaxe51
      • 1.1 Les identifiants51
      • 1.2 Les mots-clés51
      • 1.3 La ponctuation53
      • 1.4 Les opérateurs54
      • 1.4.1 Les opérateurs de calcul54
      • 1.4.2 Les opérateurs d'assignation55
      • 1.4.3 Les opérateurs de comparaison55
      • 1.5 La déclaration de variables57
      • 1.6 Les instructions de contrôle58
      • 1.6.1 Les instructions conditionnelles58
      • 1.6.2 Les instructions itératives62
      • 1.6.3 Les instructions de saut65
      • 1.7 Les commentaires67
      • 2. Les espaces de noms70
      • 2.1 Le mot-clé using71
      • 2.2 Le mot-clé alias71
      • 2.3 Les classes statiques72
      • 3. Les types de base72
      • 3.1 Les types numériques : 72
      • 3.1.1 Les entiers73
      • 3.1.2 Les décimaux74
      • 3.2 Les booléens74
      • 3.3 Les chaînes de caractères74
      • 3.4 Les types nullable76
      • 3.5 La conversion de types78
      • 3.5.1 La conversion implicite78
      • 3.5.2 La conversion explicite79
      • 4. Les constantes et les énumérations79
      • 4.1 Les constantes79
      • 4.2 Les énumérations80
      • 5. Les tableaux83
      • 6. Les collections84
      • 7. Les directives preprocessor86
      • Chapitre 4
      • La création de types
      • 1. Introduction89
      • 2. Les niveaux d'accès90
      • 3. Les structures91
      • 4. Les classes92
      • 4.1 Les champs92
      • 4.2 Les propriétés93
      • 4.3 Les méthodes95
      • 4.3.1 La surcharge97
      • 4.3.2 Les paramètres97
      • 4.3.3 Les tuples104
      • 4.3.4 Les méthodes partielles104
      • 4.4 Les constructeurs105
      • 4.5 Les destructeurs106
      • 4.6 Les classes et membres statiques107
      • 4.7 Les classes partielles107
      • 4.8 Le mot-clé this109
      • 4.9 Les indexeurs110
      • 4.10 La surcharge d'opérateurs111
      • 4.10.1Les opérateurs arithmétiques112
      • 4.10.2Les opérateurs de comparaison114
      • 5. Les records116
      • Chapitre 5
      • L'héritage
      • 1. L'héritage de classe117
      • 1.1 Implémenter l'héritage117
      • 1.2 Les membres virtuels119
      • 1.3 Masquer les membres hérités119
      • 1.4 Le mot-clé base120
      • 1.5 Les classes et membres abstraits121
      • 1.6 Les classes et les méthodes scellées122
      • 1.7 Les constructeurs dérivés123
      • 1.8 Le polymorphisme125
      • 2. Les interfaces127
      • 2.1 L'implémentation d'interfaces127
      • 2.2 Le polymorphisme d'interface129
      • 2.3 L'héritage d'interfaces131
      • Chapitre 6
      • Types génériques
      • 1. Introduction133
      • 2. La création de types génériques134
      • 3. Les contraintes de type136
      • 4. Les interfaces génériques137
      • 4.1 La variance dans les interfaces génériques138
      • 4.1.1 La covariance138
      • 4.1.2 La contravariance140
      • 4.2 La création d'interfaces génériques variantes141
      • 4.3 L'héritage d'interfaces génériques variantes142
      • 5. La création de méthodes génériques142
      • 6. Valeur par défaut générique145
      • 7. L'héritage de classe générique145
      • Chapitre 7
      • Délégués, événements et expressions lambda
      • 1. Les délégués147
      • 1.1 Les paramètres de méthode148
      • 1.2 Les méthodes cibles multiples149
      • 1.3 Les délégués génériques150
      • 1.4 La compatibilité des délégués150
      • 2. Les événements152
      • 3. Les expressions lambda155
      • 3.1 L'utilisation des expressions lambda156
      • 3.2 Les délégués génériques157
      • 3.3 La capture de variable158
      • 3.4 Les fonctions locales161
      • Chapitre 8
      • Création de formulaires
      • 1. Utiliser les formulaires163
      • 1.1 Ajouter des formulaires au projet163
      • 1.2 Modifier le formulaire de démarrage166
      • 1.3 Les propriétés des formulaires166
      • 1.4 Les méthodes des formulaires169
      • 1.5 Les événements des formulaires170
      • 2. Utiliser les contrôles171
      • 2.1 Les types de contrôles171
      • 2.2 Ajouter des contrôles aux formulaires173
      • 2.3 Les propriétés des contrôles174
      • 2.4 Les menus176
      • 2.5 Les conteneurs179
      • 2.6 L'ergonomie180
      • 2.7 Ajouter des contrôles à la boîte à outils181
      • Chapitre 9
      • Implémentation de gestionnaires d'événements
      • 1. Introduction183
      • 2. La création de gestionnaires d'événements184
      • 2.1 La mécanique d'un événement186
      • 2.2 L'ajout dynamique d'un gestionnaire d'événements186
      • 2.3 La suppression dynamique d'un gestionnaire d'événements187
      • 3. Les gestionnaires d'événements avancés188
      • 3.1 Un gestionnaire pour plusieurs événements188
      • 3.2 Plusieurs gestionnaires pour un événement189
      • Chapitre 10
      • Validation de la saisie
      • 1. Introduction191
      • 2. La validation au niveau des champs191
      • 2.1 Les propriétés de validation191
      • 2.2 Les événements de validation192
      • 2.2.1 KeyDown et KeyUp192
      • 2.2.2 KeyPress193
      • 2.2.3 Validating et Validated193
      • 3. La validation au niveau du formulaire195
      • 4. Les méthodes de retour à l'utilisateur198
      • 4.1 MessageBox199
      • 4.2 ErrorProvider200
      • Chapitre 11
      • Création de contrôles utilisateurs
      • 1. Introduction203
      • 2. Les contrôles personnalisés204
      • 3. L'héritage de contrôles206
      • 4. Les contrôles utilisateurs208
      • Chapitre 12
      • Création d'applications UWP
      • 1. Introduction215
      • 2. Principes216
      • 3. Les outils de développement218
      • 4. Le langage XAML221
      • 5. Une première application UWP223
      • 5.1 Les bases d'un projet UWP223
      • 5.2 Les contrôles et événements225
      • 5.3 Les styles227
      • Chapitre 13
      • Débogage
      • 1. Les types d'erreur231
      • 1.1 Les erreurs de syntaxe231
      • 1.2 Les erreurs d'exécution232
      • 1.3 Les erreurs de logique234
      • 2. Le débogueur234
      • 2.1 Contrôler l'exécution236
      • 2.2 Les points d'arrêt237
      • 2.2.1 Les conditions d'arrêt238
      • 2.2.2 Le nombre d'accès239
      • 2.2.3 Le filtrage240
      • 2.2.4 Les actions240
      • 2.2.5 Exécuter l'exécution jusqu'ici241
      • 2.3 Les DataTips241
      • 2.4 Les PerfTips242
      • 2.5 Les attributs Caller243
      • 3. Les fenêtres245
      • 3.1 La fenêtre Sortie246
      • 3.2 La fenêtre Variables locales246
      • 3.3 La fenêtre Automatique247
      • 3.4 La fenêtre Espion247
      • 3.5 La fenêtre Exécution248
      • 3.6 Les autres fenêtres249
      • Chapitre 14
      • Gestion des exceptions
      • 1. La classe Exception251
      • 2. La création d'exceptions personnalisées 252
      • 3. Le déclenchement des exceptions253
      • 4. L'interception et la gestion des exceptions256
      • Chapitre 15
      • Monitoring
      • 1. Le traçage263
      • 1.1 Les classes Debug et Trace263
      • 1.2 La collection d'écouteurs266
      • 1.2.1 La création d'écouteurs266
      • 1.2.2 La sauvegarde des traces267
      • 1.3 Les commutateurs de trace269
      • 1.3.1 Le fonctionnement des commutateurs de trace269
      • 1.3.2 La configuration des commutateurs de trace270
      • 2. Les journaux d'événements271
      • 2.1 L'interaction avec les journaux d'événements272
      • 2.2 La gestion des journaux d'événements273
      • 2.3 L'écriture d'événements274
      • 3. Les compteurs de performance275
      • 3.1 La création de compteurs de performance276
      • 3.1.1 Depuis Visual Studio276
      • 3.1.2 Depuis le code277
      • 3.2 L'utilisation de compteurs de performance279
      • 3.3 L'analyse de compteurs de performance282
      • Chapitre 16
      • Tests unitaires
      • 1. Introduction aux tests unitaires285
      • 1.1 La création du projet285
      • 1.2 Les classes de tests unitaires286
      • 2. La mise en place d'une série de tests288
      • 2.1 La création de tests au projet288
      • 2.2 Le déroulement des tests289
      • Chapitre 17
      • Création du modèle de données
      • 1. Introduction293
      • 2. La création d'un modèle294
      • 3. La création d'entités295
      • 4. La génération de la base de données301
      • 5. La création d'entités à partir du code (Code First)307
      • Chapitre 18
      • Présentation d'Entity Framework
      • 1. Introduction313
      • 2. Le mappage314
      • 2.1 La couche logique314
      • 2.2 La couche conceptuelle316
      • 2.3 La couche de mappage319
      • 3. Travailler avec les entités320
      • 3.1 Les entités321
      • 3.2 La classe DbContext323
      • 3.3 Les relations324
      • 3.3.1 Le concept de table par type324
      • 3.3.2 Le concept de table par hiérarchie324
      • Chapitre 19
      • Présentation de LINQ
      • 1. Les requêtes LINQ327
      • 1.1 La syntaxe327
      • 1.2 Les méthodes d'extension328
      • 2. Les opérateurs de requêtes330
      • 2.1 Filtrer330
      • 2.1.1 Where330
      • 2.1.2 OfType<TResult>330
      • 2.1.3 SelectMany331
      • 2.1.4 Skip et Take.331
      • 2.2 Ordonner332
      • 2.2.1 OrderBy332
      • 2.2.2 ThenBy333
      • 2.3 Grouper333
      • 2.3.1 GroupBy333
      • 2.3.2 Join334
      • 2.4 Agréger334
      • 2.5 Convertir335
      • 3. Les requêtes parallèles335
      • 3.1 Partitionner une requête336
      • 3.2 Annuler une requête337
      • Chapitre 20
      • LINQ to Entîtïes
      • 1. Introduction339
      • 2. Extraire les données340
      • 2.1 L'extraction simple340
      • 2.2 L'extraction conditionnelle341
      • 3. Ajouter, modifier et supprimer des données342
      • 3.1 Ajouter des données342
      • 3.2 Modifier des données343
      • 3.3 Supprimer des données343
      • 3.4 L'envoi des modifications343
      • Chapitre 21
      • LINQ to SQL
      • 1. La création de classes LINQ to SQL345
      • 2. L'objet DataContext348
      • 2.1 La méthode ExecuteQuery349
      • 2.2 Utiliser des transactions349
      • 2.3 Les autres membres de DataContext350
      • 3. Exécuter des requêtes avec LINQ351
      • 3.1 Les requêtes simples351
      • 3.2 Les requêtes filtrées352
      • 3.3 Les requêtes de jointure352
      • 4. Les procédures stockées352
      • 4.1 L'ajout de procédures stockées au modèle353
      • 4.2 L'exécution de procédures stockées354
      • Chapitre 22
      • LINQ to XML
      • 1. Les objets XML355
      • 1.1 XDocument355
      • 1.2 XElement356
      • 1.3 XNamespace357
      • 1.4 XAttribute358
      • 1.5 XComment358
      • 2. Exécuter des requêtes avec LINQ359
      • 2.1 Les requêtes simples359
      • 2.2 Les requêtes filtrées360
      • 2.3 Les requêtes de jointure360
      • Chapitre 23
      • Le système de fichiers
      • 1. Les classes de gestion du système de fichiers361
      • 1.1 Drivelnfo361
      • 1.2 Directory et Directorylnfo363
      • 1.3 File et Filelnfo365
      • 1.4 Path368
      • 2. Travailler avec le système de fichiers371
      • 2.1 Les objets Stream371
      • 2.2 La classe FileStream371
      • 2.3 Lire un fichier texte373
      • 2.3.1 Lire avec la classe File373
      • 2.3.2 Lire avec la classe StreamReader374
      • 2.4 Écrire dans un fichier texte376
      • 2.4.1 Écrire avec la classe File376
      • 2.4.2 Écrire avec la classe StreamWriter377
      • Chapitre 24
      • Sérialisation
      • 1. Introduction379
      • 2. La sérialisation binaire380
      • 2.1 Les bases380
      • 2.2 Contrôler la sérialisation382
      • 2.2.1 Le contrôle par attribut382
      • 2.2.2 Le contrôle par interface384
      • 3. La sérialisation XML387
      • 3.1 Les bases388
      • 3.2 Contrôler la sérialisation391
      • 3.3 La sérialisation XML SOAP392
      • Chapitre 25
      • Expressions régulières
      • 1. Introduction395
      • 2. Une première expression régulière396
      • 3. Les options de recherche397
      • 4. Les caractères d'échappement398
      • 5. Les ensembles398
      • 6. Les groupes400
      • 7. Les ancres401
      • 8. Les quantifieurs402
      • Chapitre 26
      • Multithreading
      • 1. Introduction403
      • 2. La classe Thread404
      • 2.1 Créer un thread404
      • 2.2 Suspendre ou annuler un thread405
      • 2.3 Échanger des données avec un thread406
      • 2.4 Verrouiller un thread409
      • 2.5 Priorité des threads410
      • 3. Fonctions asynchrones411
      • 3.1 Task et Task<TResult>412
      • 3.2 async et await414
      • 4. Le composant BackgroundWorker 416
      • Chapitre 27
      • Globalisation et localisation
      • 1. Introduction419
      • 2. La culture420
      • 3. La globalisation422
      • 4. La localisation424
      • Chapitre 28
      • Sécurité
      • 1. Introduction429
      • 2. Les éléments de base.430
      • 2.1 L'interface Permission430
      • 2.2 La classe Code Access Permission431
      • 2.3 L'interface Principal431
      • 3. Implémentation de la sécurité433
      • 3.1 La sécurité basée sur les rôles433
      • 3.1.1 Sécurité impérative433
      • 3.1.2 Sécurité déclarative435
      • 3.2 La sécurité basée sur les droits d'accès435
      • 3.2.1 Sécurité impérative436
      • 3.2.2 Sécurité déclarative437
      • 4. Introduction à la cryptographie438
      • Chapitre 29
      • Pour aller plus loin
      • 1. Le dessin avec GDI+441
      • 1.1 La classe Graphics442
      • 1.1.1 Les coordonnées442
      • 1.1.2 Les formes443
      • 1.2 La structure Color et les classes Brush et Pen445
      • 1.2.1 La structure Color445
      • 1.2.2 La classe Brush446
      • 1.2.3 La classe Pen446
      • 1.2.4 Les paramètres système447
      • 1.3 Les exemples447
      • 1.3.1 L'affichage de texte447
      • 1.3.2 Redimensionner une image449
      • 2. Le remoting450
      • 2.1 Le principe450
      • 2.2 L'implémentation451
      • 2.2.1 La couche commune451
      • 2.2.2 L'application serveur452
      • 2.2.3 L'application cliente454
      • 3. Reflection458
      • 3.1 La classe System Type458
      • 3.2 Charger un assemblage dynamiquement460
      • 3.2.1 L'énumération des types460
      • 3.2.2 L'instanciation d'objets461
      • 3.2.3 L'utilisation des membres462
      • Chapitre 30
      • Assemblages et configurations
      • 1. Introduction465
      • 2. Les assemblages privés465
      • 3. Les assemblages partagés468
      • 4. Les fichiers de configuration470
      • Chapitre 31
      • Déploiement
      • 1. Introduction473
      • 2. Les projets de déploiement474
      • 2.1 XCOPY474
      • 2.2 Projet CAB475
      • 2.3 Projet de module de fusion476
      • 2.4 Projet d'installation476
      • 3. L'assistant Installation477
      • 4. Configuration du projet481
      • 4.1 Les propriétés du projet481
      • 4.2 Les éditeurs de configuration484
      • 4.2.1 Éditeur du système de fichiers485
      • 4.2.2 Éditeur du registre486
      • 4.2.3 Éditeur des types de fichiers487
      • 4.2.4 Éditeur de l'interface utilisateur489
      • 4.2.5 Éditeur des actions personnalisées491
      • 4.2.6 Éditeur des conditions de lancement492
      • Index 495

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

    Niveau 3 - Informatique