xitio, publicación de artículos gratis, participación ciudadana, notas de prensa
  Usuario: Clave:    
 
 
Documento sin título
 
Documento sin título
 
Documento sin título
Home
Xnechijli01 6/17/2019 2:06:45 PM
Xnechijli01
Adaptar proyectos para C# 8
C# 8 y la adaptacin de proyectos
votos 0 comentarios 0 enviar vínculo a un amigo
Tags C#
 
Adaptar proyectos para usar C# 8 y tipos de referencia que aceptan nulos
 

Adaptar proyectos para usar C# 8 y tipos de referencia que aceptan nulos

Esta de nuestro curso de C# es un informe sobre la actualización de una biblioteca de clases C# 7 a C# 8 con tipos de referencia que admiten nulos. El proyecto utilizado en este estudio es una colección de clases base de estilo MVVM, código de reflexión y varias funciones de utilidad. Se eligió porque es razonablemente pequeño y tiene una buena combinación de patrones C# idiomáticos e inusuales.

Configuración del proyecto

Actualmente, los tipos de referencia anulables solo están disponibles para los proyectos .NET Standard y .NET Core. En el archivo de tu proyecto, deberás agregar o modificar la siguiente configuración:

</PropertyGroup> <LangVersion>8.0</LangVersion> <NullableContextOptions>enable</NullableContextOptions> </PropertyGroup> 

Tan pronto como la guardes, deberías poder ver que comienzan a aparecer errores de nulabilidad. 

Indicar que un tipo es anulable

En el método de interfaz GetPreviousValue, el tipo de retorno debe ser anulable. Para hacer esto explícito, el modificador de tipo de referencia anulable (?) se agrega al objeto.

object? GetPreviousValue(string propertyName);

Muchos de los errores del compilador en tu proyecto pueden resolverse simplemente anotando variables, parámetros y tipos de retorno con este modificador de tipo.

Propiedades de carga perezosa

Si una propiedad es pesada de calcular, es posible que estés usando el patrón de carga lenta. En este patrón, si un campo privado es nulo, significa que el valor aún no se ha generado.

C# 8 maneja esta situación bien. Sin alterar el código, fue capaz de analizar correctamente el código para determinar que el resultado del captador siempre será no nulo, a pesar de que la variable devuelta es anulable.

string? m_CSharpFullName; public string CSharpFullName { get { if (m_CSharpFullName == null) { var result = new StringBuilder(m_TypeInfo.ToString().Length); BuildCSharpFullName(m_TypeInfo.AsType(), null, result); m_CSharpFullName = result.ToString(); } return m_CSharpFullName; } } 

Cabe señalar que hay una condición potencial de carrera aquí. En teoría, otro hilo podría establecer el valor de m_CSharpFullName de nuevo en nulo y el compilador no podría detectarlo. Por lo tanto, ten especial cuidado al tratar con código de subprocesos múltiples.

También te informamos que seguiremos ampliando nuestro curso de MySQL y el curso de Visual Basic.

Te gustó esta nota, compártela con tus amigos
ico_copada.gif ico_delicious.png ico_enchilame.gif ico_facebook.png ico_fresqui.gif ico_google.gif ico_meneame.gif ico_myspace.gif ico_technorati.png ico_twitter.gif ico_yahoo.png
Visitá otras notas de Xnechijli01
Cmo eliminar filas en blanco en Microsoft Excel
Convertir datos a grfico de lneas en Excel
Los gadgets y la seguridad de Java
Problemas de seguridad en las bases de datos.
Advertencia las debilidades de seguridad de Java
Los inicios de Java a ms de 30 aos de su creacin
 
Comentarios 0  
Enviá tu comentario
Para dejar tu comentario debes ser miembro de xitio.
 
Documento sin título
 
Documento sin título
 
 
 
 
Documento sin título
 
Nos contaron que leen
Documento sin título
 
Documento sin título
ULTIMOS PUBLICADOS Tecnologa
Es necesario cambiar la batera del iPhone?
contenidos7
Un servicio profesional y autorizado
 
4/16/2024 4:01:33 AM
 
Qu es un salvaescaleras?
contenidos7
Salvaescaleras que se adaptan a tu vivienda
 
7/10/2023 4:51:24 AM
 
Salvaescaleras, movilidad sin barreras
contenidos7
Independencia y libertad de movimiento
 
6/7/2023 4:49:57 AM
 
Los gadgets y la seguridad de Java
Xnechijli01
El cdigo de Java puede ser vulnerable si no se revisa con frecuencia.
 
8/18/2022 10:52:08 AM
 
Problemas de seguridad en las bases de datos.
Xnechijli01
Los Problemas de seguridad en las bases de datos en Java pueden evitarse con la programacin adecuada.
 
8/17/2022 9:52:17 AM
 
Advertencia las debilidades de seguridad de Java
Xnechijli01
Advertencia sobre bibliotecas de Java y debilidades de seguridad de deserializacin
 
8/16/2022 9:35:05 AM
 
Los inicios de Java a ms de 30 aos de su creacin
Xnechijli01
Java es uno de los lenguajes de programacin ms populares mayormente usados. Su historia nos dice por qu.
 
8/22/2022 6:11:20 AM
 
El problema de conversin de JOBOL
Xnechijli01
Las complicaciones de conversin de lenguaje entre COBOL y Java
 
8/19/2022 9:12:06 PM
 
Las sillas salvaescaleras: un recurso social necesario
contenidos7
Una sociedad que se preocupa por mejorar la accesibilidad
 
12/22/2021 5:15:12 AM
 
Instala cmaras de vigilancia y gana en seguridad
contenidos7
Una cmara de vigilancia como medio para evitar robos y ocupaciones
 
9/23/2021 2:59:14 AM
 
Documento sin título
 
Documento sin título
 
Documento sin título
 
 
Documento sin título
 
 
 
Documento sin título
 
Publicar es gratis, sólo tienes que registrarte y escribir.