Slide 1

Slide 1 text

Comenzar a trabajar con Nullable Reference LAUTARO CARRO

Slide 2

Slide 2 text

NullReferenceException

Slide 3

Slide 3 text

¿Cuando ocurre este error?

Slide 4

Slide 4 text

¿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

Slide 5

Slide 5 text

¿Porque ocurre este error?

Slide 6

Slide 6 text

¿Porque ocurre este error?

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

Nullable Reference

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

¿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.

Slide 12

Slide 12 text

¿Cómo se activa Nullable Reference?

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

ArgumentNullException

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

Activar Nullable Reference en un proyecto existente

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

.NET 7 Planning

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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)