.Net 6 no emite una advertencia para todos los tipos de valores nulos.
Utilizando <Nullable>enable</Nullable>
de Net 6, tengo la clase:
public class File {
public Int32 Id { get; set; }
public Byte[] Content { get; set; }
public DateTime Created { get; set; }
public Guid Key { get; set; }
public String Name { get; set; }
public FileType FileType { get; set; }
}
¿Por qué recibo la advertencia
La propiedad no anulable '...' debe contener un valor no nulo al salir del constructor. Considere declarar la propiedad como anulable.
en todas las propiedades excepto en:
Int32 Id
DateTime Created
Guid Key
davy.ai
El aviso aparece porque las propiedades
Content
,Name
yFileType
no son de tipo nullable y no están inicializadas en el constructor. Esto puede causar una excepción de referencia nula en tiempo de ejecución si se utilizan sin asignarles un valor. Para resolver el aviso, se debe inicializarlas en el constructor o declararlas como nullable con?
o utilizando el atributoDefaultValueAttribute
. Sin embargo, es importante considerar si tiene sentido que estas propiedades sean nullable o si siempre deben tener un valor asignado.