webnoticias, publicación de artículos gratis, participación ciudadana, notas de prensa
Publicar es gratis, sólo tienes que registrarte y escribir.
  Usuario: Clave:    
 
 
En este lugar está terminantemente prohibido confundir el desencanto con la verdad   por    
Documento sin título
 
Documento sin título
 
Documento sin título
 
Documento sin título
 
Documento sin título
Home
Xnechijli01 6/17/2019 6:13:20 PM
Xnechijli01
Parámetros anulables en C# 8
Anulables de C# 8
votos 0 comentarios 0 enviar vínculo a un amigo
Tags C# C# 8
 
Parámetros anulables y CallerMemberName en C# 8
 

Parámetros anulables y CallerMemberName

Dentro de nuestro curso de C# te mencionamos algunas características de C# 8. Debes recordar que C# y VB forman parte de .NET Core por lo que también te beneficiará tomar un curso de Visual Basic para dominar mejor estos lenguajes de programación.

Un patrón que la biblioteca de C# 8 usa mucho es CallerMemberName. Nombrado así por el atributo que usa, la idea básica es que agregue un parámetro opcional al final de un método. El compilador ve el CallerMemberName e implícitamente proporciona un valor para ese parámetro.

public override bool IsDefined([CallerMemberName] string propertyName = null)

En teoría, el propertyNameparameter podría establecerse explícitamente en nulo, pero se entiende que no se debe hacer eso y podrían ocurrir errores inesperados.

Al convertir este código a C# 8, uno puede tener la tentación de marcar el parámetro como anulable. Eso es engañoso porque el método en realidad no fue diseñado para manejar los nulos. En su lugar, debes reemplazar el nulo con una cadena vacía.

public override bool IsDefined([CallerMemberName] string propertyName = "")

¿Todavía necesito verificaciones de argumentos nulos?

Si estás construyendo una biblioteca para el consumo público (es decir, NuGet), entonces sí, todos los métodos públicos aún deben verificar los argumentos nulos. Es posible que las aplicaciones que consumen la biblioteca no estén utilizando necesariamente tipos de referencia anulables. De hecho, es posible que ni siquiera estén usando C# 8.

Si todo el código de tu aplicación utiliza tipos de referencia que admiten nulos, entonces la respuesta es "probablemente sí". Si bien, en teoría, no verás nulos inesperados, todavía pueden aparecer debido al código dinámico, a la reflexión o al uso indebido del operador que permite nulos (!). Espero que la mayoría de los proyectos se beneficien de esta función y deberían aplicarla en C# 8.

En próximas notas hablaremos más del tema. Por el momento te mencionamos que estamos trabajando en nuestro curso de MySQL.

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
Bitcoin
 
Comentarios 0  
Enviá tu comentario
Para dejar tu comentario debes ser miembro de webnoticias.
 
Documento sin título
 
Documento sin título
 
Documento sin título
 
Documento sin título
 
 
 
 
Documento sin título
 
Documento sin título
 
Nos contaron qué leen
Documento sin título
 
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.