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

Comenzar a trabajar con Nullable Reference y C# 10

Comenzar a trabajar con Nullable Reference y C# 10

Lautaro Carro

July 14, 2022
Tweet

More Decks by Lautaro Carro

Other Decks in Technology

Transcript

  1. Comenzar a
    trabajar con
    Nullable
    Reference
    LAUTARO CARRO

    View Slide

  2. NullReferenceException

    View Slide

  3. ¿Cuando
    ocurre este
    error?

    View Slide

  4. ¿Cuando ocurre este error?
     Cuando desarrollamos
     Cuando realizamos una demo con el cliente
     Cuando los testers prueban en QA
     Cuando los usuarios trabajan en producción
     Cuando queremos mostrarle a nuestra pareja
     Cuando estamos dando una charla en la .NET Conf Latam

    View Slide

  5. ¿Porque ocurre este error?

    View Slide

  6. ¿Porque ocurre este error?

    View Slide

  7. Microsoft se dio cuenta de 2 cosas
    Es el error más
    frecuente que
    tenemos
    Se puede intuir
    cuando una
    variable va a ser
    NULL

    View Slide

  8. Nullable Reference

    View Slide

  9. Agenda
    ¿Qué es Nullable Reference?
    ¿Como funciona?
    ¿Cómo empezar a utilizarlo?
    Activar Nullable Reference en proyectos existentes
    .NET 7 Planning

    View Slide

  10. Tipos de Valor y Tipos de Referencia
    Value Type Reference Type
    Memoria Pila “Stack” Memoria Montón “Heap”
    Int, bool, estructuras,
    enumeraciones
    Clases, string
    Tienen un tamaño determinado No tienen un tamaño
    determinado
    Por defecto, no acepta valores
    NULL.
    Utilizan Nullable
    Por defecto, acepta valores NULL

    View Slide

  11. ¿Qué es Nullable Reference?
     Nullable Reference es una de las
    novedades que trajo C# 8 (.NET
    Core 3.1). Esta característica
    sirve para indicar que tipos de
    referencia aceptan valores NULL
    y cuales no.

    View Slide

  12. ¿Cómo se
    activa Nullable
    Reference?

    View Slide

  13. View Slide

  14. ArgumentNullException

    View Slide

  15. View Slide

  16. Nullable
    Attributes
     AllowNull
     DisallowNull
     MaybeNull
     NotNull
     MaybeNullWhen
     NotNullWhen
     NotNullIfNotNull
     MemberNotNull
     MemberNotNullwhen
     DoesNotReturn
     DoesNotReturnIf

    View Slide

  17. Activar Nullable
    Reference en un
    proyecto existente

    View Slide

  18. View Slide

  19. .NET 7
    Planning

    View Slide

  20. Beneficios
    ❑ Evitamos Bugs
    ❑ Mejoramos la calidad de código
    ❑ Mejoramos la experiencia de desarrollo
    ❑ Puerta abierta a nuevas practicas
    ❑ Mejoramos como programadores

    View Slide

  21. Para pensar
    ¿CUÁNDO SE DEBE EMPEZAR A APRENDER NULLABLE
    REFERENCE?

    View Slide

  22. @lauchacarro
    Lautarocarro.blog
    Muchas Gracias
    COMENZANDO A TRABAJAR CON
    NULLABLE REFERENCE

    View Slide

  23. Referencias
     Qué son los tipos por valor y por referencia en .NET y C# | campusMVP.es
     Preparándonos para NET 6: Nullable Reference en NET 6 - Lautaro Carro
     Atributos reservados de C#: Análisis estático que admite un valor NULL |
    Microsoft Docs
     Trabajar con tipos de referencia que aceptan valores NULL: EF Core |
    Microsoft Docs
     .NET 7 Planning Milestone (github.com)

    View Slide