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 full-size slide

  2. NullReferenceException

    View full-size slide

  3. ¿Cuando
    ocurre este
    error?

    View full-size 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 full-size slide

  5. ¿Porque ocurre este error?

    View full-size slide

  6. ¿Porque ocurre este error?

    View full-size 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 full-size slide

  8. Nullable Reference

    View full-size slide

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

    View full-size 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 full-size 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 full-size slide

  12. ¿Cómo se
    activa Nullable
    Reference?

    View full-size slide

  13. ArgumentNullException

    View full-size slide

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

    View full-size slide

  15. Activar Nullable
    Reference en un
    proyecto existente

    View full-size slide

  16. .NET 7
    Planning

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  20. 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 full-size slide