Introducción Los verbos más habituales a la hora de trabajar con una Web API suelen ser GET, PUT y POST. Y en menor medida PATCH. PUT y PATCH se utilizan para actualizar recursos existentes, pero la diferencia entre PUT y PATCH, es que PUT actualiza, o mejor dicho reemplaza, un recurso existe...
Para ejecutar los ejemplos de código que indico en esta entrada, he utilizado .NET 5 (para soportar C# 9.0), y puedes hacer uso del SDK de .NET 5, Visual Studio Code, Visual Studio 2019 o bien, sharplab.io Si utilizas este último, recuerda eliminar el Console.ReadKey(); de los ejemplos de cód...
Introducción Antes de empezar y para los que menos familiarizados estén, cabe destacar que de .NET Core 3.1 pegamos el salto a .NET 5. Es decir, no existe ni existirá .NET Core 4 que sería su nombre "lógico" esperable, y pasa a llamarse directamente .NET 5. Los motivos fundamentales para e...
Introducción A apenas algunas semanas o días para que aparezca la versión final de .NET 5, la RC 2 publicada el pasado 13 de Octubre es una versión go live, es decir, una versión que podemos poner en producción. En una entrada anterior, explicaba cómo podíamos probar .NET 5 de forma ráp...
Introducción El pasado 13 de Octubre, apareció la última versión preliminar de .NET 5, la versión .NET 5 RC2. Lo destacable de esta versión es que es go live, o lo que es lo mismo, que puede ser utilizada en producción. En aproximadamente 1 mes, tendremos ya la versión final de .NET 5, ...
Introducción La semana pasada, en la serie de entradas que sobre la especificación de C# 9 he hecho en mi blog, publiqué una entrada sobre C# 9.0 – Specification – Init-only Setters. En LinkedIn, Eduard Tomás me hizo unas apreciaciones sobre dicha entrada que copio/pego aquí: A mi lo q...
Índice general – C# 9.0 – Specification Introducción Los Partial Methods como tal no es nada nuevo para cualquier programador de C#. Sin embargo, en C# 9 han sufrido algunas mejoras que conviene destacar. Reconozco que no soy muy amigo de los partial methods, más bien no me gustan nada ...
Índice general – C# 9.0 – Specification Introducción Covariant return, o return type covariant, es una característica del lenguaje por la cuál, podemos sobreescribir un método de una clase base que tiene un tipo no especificado, por un método suyo tipo sí es más específico. Como si...
Índice general – C# 9.0 – Specification Introducción Imaginemos la situación de evaluación (condition ? expression1, expression2). Dentro de la especificación de C# 9 se ha agregado una característica que es realmente útil cuando en una expresión condicional como la que represento a...
Índice general – C# 9.0 – Specification Introducción Cuando trabajamos con clases y declaramos una instancia de una nueva clase, acostumbramos a indicar la clase, y en el caso de que su constructor tenga parámetros, los parámetros del mismo. Es decir, tendemos a tener en C# códigos com...
Índice general – C# 9.0 – Specification Introducción Pattern Matching no es algo nuevo dentro de C# como lenguaje, de hecho, se empezó a emplear en C# 6, y a lo largo de los siguientes años y diferentes especificaciones del lenguaje C#, se ha ido completando, ampliando y mejorando cada v...
Índice general – C# 9.0 – Specification Introducción Una de las características añadidas en C# 9 tiene que ver con la inmutabilidad de un objeto, y en concreto con la inmutabilidad de aquellas propiedades que consideramos claves dentro del objeto. Pero antes de entrar a detallar cómo f...
Índice general – C# 9.0 – Specification Introducción La característica de C# 9 sobre la que voy a hablar en esta entrada es algo particular. De hecho, ha sido algo controvertida, y detrás de ella, parece estar la intención de acercar C# a otros lenguajes de programación, aunque su alca...
Índice general – C# 9.0 – Specification Introducción Dentro de C# como lenguaje, aparte del propio object, tenemos (por lo general) la posibilidad de trabajar con clases (class) y estructuras (struct). Cada una de ellas, y según el contexto en el que trabajemos, nos ofrece una serie de v...
Introducción A lo largo de diferentes entradas en mi blog, voy a tratar de abordar las diferentes mejoras que han sido añadidas al lenguaje C# en su especificación C# 9. El siguiente resumen nos detalla las diferentes especificaciones de C# soportadas en según qué versiones de .NET. Record...
Si estás probando .NET 5 en Visual Studio 2019 Preview, y con ello C# 9, es posible que te encuentres con un error de compilación a la hora de trabajar con la característica Init-only properties de la especificación C# 9. En mi caso, parto de un entorno de desarrollo Visual Studio 2019 Previe...
Introducción Una de las tareas que debemos empezar a plantear dentro de nuestros desarrollos de .NET Core, sino lo hemos hecho ya (y dentro de poco con .NET 5 y posteriores), es la migración de Newtonsoft.Json a System.Text.Json. Dentro de las tareas de migración, es posible que nos encontrem...
Introducción Voy a tratar de aclarar algunos conceptos y aspectos relativos a las versión de .NET Core que hay, su soporte y cómo podríamos actuar de cara a nuestros productos Software. Pero antes de empezar, que no cunda el pánico. No se acaba el mundo. Aunque sí debemos partir de la dela...
Microsoft ha anunciado que después de la versión final de .NET Core 3.0 (que Microsoft planea liberar en Septiembre 2019), la siguiente versión en la que están ya trabajando se denominará .NET 5. Se prevé que para Noviembre de 2020, Microsoft presente .NET 5, estando disponible la primera v...