lunes, 17 de junio de 2019
Por si te lo perdiste...
- Lo que ocurre cuando desarrolladores diseñan interfaces de usuario (II)
José María Aguilar - Localizar errores de validación del binding en ASP.NET Core MVC
José María Aguilar
.NET / .NET Core
- Announcing .NET Core 3.0 Preview 6
Richard Lander - Delegates And Events In C#
Shadman Kudchikar - Complete Sudoku Game for Windows using VB.NET 2013
Hung, Han - Empty try with finally
Jiří Činčura - Migrating a Sample WPF App to .NET Core 3 Part 1 & Part 2
Mike Rousos - Tangled in .NET: Will 5.0 really unify Microsoft's development stack?
Tim Anderson - Customize object displays in the Visual Studio debugger YOUR way
Leslie Richardson - Conditional Ref, Ref ReadOnly, Ref Reassignment in C# 7.X
Brij Bhushan Mishra - Calling Cognitive Services OCR Service from a .NET Application
David Giard - Try the new System.Text.Json APIs
Immo Landwerth - How to Debug LINQ queries in C#
Michael Shpilt - La potencia de la Reflexión (Parte 1)
Jorge Turrado
martes, 11 de junio de 2019

Index
, junto con alguna cortesía del compilador, permitía la especificación de índices en arrays de forma muy sencilla. Veíamos cómo podíamos acceder a elementos concretos utilizando su posición en la colección, tanto contando desde el principio como desde el final:var primes = new[] { 2, 3, 5, 7, 11, 13, 17, 19 };
Index fromStart = 2; // = Index.FromStart(2) - conversión implícita
Index fromEnd = ^2; // = Index.FromEnd(2)
Console.WriteLine(primes[fromStart]); // 5
Console.WriteLine(primes[fromEnd]); // 17
Sin embargo, puede que a Index
por sí mismo tampoco le veáis demasiada utilidad... y así es. De hecho, su finalidad es más bien el dar soporte a rangos, una nueva característica de C#8 que nos permitirá referirnos a "porciones" de arrays o colecciones similares usando una sintaxis compacta e integrada en el lenguaje.
lunes, 10 de junio de 2019
Por si te lo perdiste...
- 32 Síntomas que indican que estás afectado por el desarrollo
José María Aguilar - Cargar automáticamente objetos del modelo en acciones ASP.NET Core MVC
José María Aguilar
.NET / .NET Core
- C#9 – Type classes y extensiones
Eduard Tomás - Supporting the community with WF and WCF OSS projects
Scott Hunter - Throwing ArgumentException and InvalidOperationException
Peter Mbanugo - dnSpy: A Decompiler for .NET and Windows applications
Nick Randolph - Serializing a PascalCase Newtonsoft.Json JObject to camelCase
Andrew Lock - An Interesting Case Of .NET Performance and Caching
Khalid Abuhakmeh - Extension Methods Guidelines in C# .NET
Michael Shpilt - C# : Task Parallel Library (TPL) with async await and TaskCompletionSource for async I/O operations
Siddharth Patel - What's better than ILDasm? ILSpy and dnSpy are tools to Decompile .NET Code
Scott Hanselman - Ignoring a Billion-Dollar Mistake is simply not an Option
Ian Bebbington - PDF File Writer C# Class Library (Version 1.24.0)
Uzi Granot - How Can We Efficiently Sort Socks with C#?
Matthew Jones - Clever little C# and ASP.NET Core features that make me happy
Scott Hanselman
martes, 4 de junio de 2019

Span<T>
.Como muchas otras características del lenguaje, se trata de algunos azucarillos sintácticos creados en torno a dos nuevos tipos añadidos a las bibliotecas básicas del framework: las estructuras
System.Index
y System.Range
. Por esta razón, para utilizar estos elementos no sólo es necesario disponer de nuevos compiladores, sino también de nuevas versiones del framework.Recordad que a día de hoy ya se puede probar C# 8 en Visual Studio 2019 o directamente desde la interfaz de línea de comandos de .NET Core.
lunes, 3 de junio de 2019
Por si te lo perdiste...
- Validación de peticiones en ASP.NET, o cómo evitar el error “Request.Form peligroso”
José María Aguilar - Quizás no estés comparando con null de forma totalmente correcta
José María Aguilar
.NET / .NET Core
- ¿Es lo mismo string o String en un programa C#?
José Manuel Alarcón Aguín - Spying on .NET Garbage Collector with .NET Core EventPipes
Christophe Nasarre - Porting desktop apps to .NET Core
Olia Gavrysh - 8 Techniques to Avoid GC Pressure and Improve Performance in C# .NET
Michael Shpilt - Debugging System.AggregateException
Thomas Ardal - How to Build .NET Strings at Run Time
Peter Vogel - Candidate Features For C# 9
Bassam Alugili - Extension Methods Are Easy with C#
Dirk Strauss - Let's talk about mapping objects in C#
Josef Ottosson - Shipping Pseudocode to Production
Dobromir Nikolov - Unexceptional non-blocking task-based flow control in .NET
Szymon Kulec - You can stop mocking ILogger
Joseph Woodward
martes, 28 de mayo de 2019

Esta capacidad abre posibilidades bastante interesantes,que no eran tan inmediatas (o en algunos casos, ni siquiera posibles de forma directa) en versiones "clásicas" de Entity Framework, o EF Core anterior a 2.1. Gracias a ella podremos, por ejemplo, tener en nuestra entidad una propiedad de tipo enum mapeada a una cadena de caracteres en el almacén de datos, o introducir cualquier lógica de transformación, como podría ser la desencriptación y encriptación de valores, a la hora de leer y persistir información.