Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Salut .NET 5, quoi de neuf ?

Cyril
December 10, 2020

Salut .NET 5, quoi de neuf ?

Résumé des nouveautés dernières .NET 5, C# 9 et Visual Studio.

Cyril

December 10, 2020
Tweet

More Decks by Cyril

Other Decks in Programming

Transcript

  1. 10/12/2020
    Salut .NET 5, quoi de neuf ?

    View Slide

  2. Cyril CATHALA
    A propos
    ➔ .NET, Azure, Mobile
    ➔ Coach Technique – SOAT
    ➔ MVP Developer Technologies
    @CyrilCathala
    in/cyrilcathala
    [email protected]

    View Slide

  3. 3
    .NET 5

    View Slide

  4. Roadmap .NET Core
    4

    View Slide

  5. .NET 5 – Unification
    5

    View Slide

  6. .NET 5
    6

    Target framework
    >
    net5.0 : Crossplatform
    >
    net5.0-windows : Forms, WPF, WinRT…
    >
    net6.0-ios, net6.0-android : Xamarin

    Performances+++
    >
    gRPC, Arm64, JSON

    Support de Windows Arm64

    System.Text.Json amélioré

    Extensions HttpClient pour JSON
    > GetFromJsonAsync()

    Application single file

    View Slide

  7. .NET 5 - Windows
    7

    Designer Windows Forms + WPF

    Installeur ClickOnce

    Plus besoin d’avoir .NET Framework installé

    Contrôle moderne WebView2

    View Slide

  8. ASP.NET Core
    8

    Model binding supporte les records

    OpenAPI (ex-Swagger) supporté par défaut

    SignalR Hub Filters
    > Middleware des hubs

    Blazor
    > Cf. Jérôme & Jonathan !

    View Slide

  9. Entity Framework Core
    9

    Relations many-to-many ❤

    Table-per-type mapping

    Mapping d’une entity avec une query

    Interception du SaveChanges
    > SavingChanges, SavedChanges

    Include() avec filtre

    Amélioration des migrations
    > Transactions et exclusion de tables

    View Slide

  10. 10
    C# 9

    View Slide

  11. C# 9 – Init-only properties
    11

    Propriétés initialisables à l’instanciation uniquement

    View Slide

  12. C# 9 - Records
    12

    Classe immutable par défaut

    Support de l’héritage

    Implémentation automatique
    > Comparaison par valeurs
    > GetHashCode()
    > Copy / Clone
    > PrintMembers / ToString()

    View Slide

  13. C# 9 - Records
    13

    Copie avec with

    Déclaration plus compacte : positional records
    > Deconstruct()

    View Slide

  14. C# 9 - Top-level Programs
    14

    View Slide

  15. C# 9 - Patterns
    15

    Patterns logiques : and, or, not

    Patterns relationnels : <, <=, >, >=

    Compatible avec tous les patterns : is, switch, case

    View Slide

  16. C# 9 - new()
    16

    Omission du type quand il est implicite

    View Slide

  17. C# 9 - Source Generator
    17

    Génération de code source (quelle surprise !) ⚠ Preview ⚠

    Complément ou remplacement pour la reflection, modification d’IL, tâches MSBuild
    ou T4

    View Slide

  18. 18
    Visual Studio

    View Slide

  19. Visual Studio 2019 16.8
    19

    Support Git

    View Slide

  20. Visual Studio 2019 16.8
    20

    Support Git

    .NET Analyzers

    View Slide

  21. Visual Studio 2019 16.8
    21

    Support Git

    .NET Analyzers

    Aide sur les noms
    de paramètre et
    types

    View Slide

  22. Visual Studio 2019 16.9 Preview
    22

    Point-virgule
    automatique

    View Slide

  23. Visual Studio 2019 16.9 Preview
    23

    Point-virgule
    automatique

    Using
    automatique
    après une copie

    View Slide

  24. Visual Studio 2019 16.9 Preview
    24

    Point-virgule
    automatique

    Using
    automatique
    après une copie


    Génération de
    propriété bindée

    View Slide

  25. @CyrilCathala
    in/cyrilcathala
    [email protected]
    Merci !

    View Slide