Me encanta que el lenguaje C# vaya introduciendo características que consiguen que cada vez tengamos que escribir menos para conseguir lo mismo, y, sobre todo, si la legibilidad posterior del código no se ve comprometida.
Uno de estos casos son los recientes target-typed new expressions, o expresiones new con el tipo del destino, que básicamente permite evitar la introducción del tipo de datos al usar el constructor de una clase, siempre que el compilador sea capaz de inferirlo por su contexto.
Vamos a echarle un vistazo en este post.
Ahí van los enlaces recopilados durante la semana pasada. Espero que os resulten interesantes. :-)
Por si te lo perdiste...
- Analiza tu código a fondo y desde distintas perspectivas con NDepend
José María Aguilar - Localizar errores de validación del binding en ASP.NET Core MVC
José María Aguilar
.NET Core / .NET
- What's new in Windows Forms in .NET 6.0 Preview 5
Igor Velikorossov - C# Type Conversion (and Coffee!) • Programming is Fun
Janell Baxter - What is the difference between Reflection and dynamic keyword in C#?
Shivprasad Koirala - Default Your FirstOrDefault in .NET 6.0
Adam Storr - Exploring Fluent Assertions
Gérald Barré - Abusing C# binding redirects for fun and profit - Injecting custom code without modifying files
Bill Wilson - Customized JSON formatting with Serilog
Nicholas Blumhardt - ICYMI C# 9 New Features: More Pattern Matching Features
Jason Roberts - Package Validation
Anirudh Agnihotry - Understanding async/await State Machine in .NET
Mykhailo Konovalov - CompactExifLib: Access to EXIF Tags in JPEG, TIFF and PNG Files
Hanns-Peter Kalb
Hace algunas semanas echamos un vistazo rápido a Blazor UI Components, la suite de componentes profesionales para Blazor proporcionada por Syncfusion.
Como vimos, se trata de una completa colección que soluciona las necesidades más habituales durante la creación de la interfaz de usuario de aplicaciones Blazor, tanto Server como WebAssembly. Más de 70 componentes que incluyen controles de entrada de datos, botones, calendarios, layouts, rejillas de datos o gráficas estadísticas, entre otros. Y lo mejor es que, aunque se trata de un producto comercial, su generosa licencia community permite que muchos podamos utilizarlos de forma totalmente gratuita.
Hoy vamos a profundizar un poco en los componentes de presentación de datos estadísticos, o Chart Components, que por su potencia, versatilidad y calidad del resultado merece un post en sí mismos.
Nota: lo que estáis leyendo es un post patrocinado por Syncfusion, pero en ningún momento han revisado previamente o condicionado de alguna forma su contenido.
Publicado por José M. Aguilar a las 8:05 a. m.
Etiquetas: blazor, blazorserver, blazorwasm, componentes, sponsored, syncfusion
Ahí van los enlaces recopilados durante la semana pasada. Espero que os resulten interesantes. :-)
Por si te lo perdiste...
- C# Source generators: metaprogramación en tiempo de compilación
José María Aguilar - Cargar automáticamente objetos del modelo en acciones ASP.NET Core MVC
José María Aguilar
.NET Core / .NET
- Announcing .NET 6 Preview 5
Richard Lander - Making Your Life Easier with C# Scripting
Peter Vogel - Caching Enum.ToString to improve performance
Gérald Barré - Conversation about diagnostics
Richard Lander - Setting Content for HttpClient Testing with JSON.NET and System.Text.Json
Adam Storr - Hot Reload for .NET Developers
Daniel Gomez Jaramillo - Migration of Bing’s Workflow Engine to .NET 5
Ben Watson - dotnet repl
Scott Hanselman - Running .NET Core Apps on a Framework other than Compiled Version?
Rick Strahl - ICYMI C# 9 New Features: Top-level Statements
Jason Roberts - C# Pattern Matching Quick Guide And Examples
Khalid Abuhakmeh - Conversation about networking
Richard Lander - Show a name and profile photo with .NET and Gravatar
Thomas Ardal - Quick Noda Time Conversions
Simon Timms - C# 10 -
record struct
Deep Dive & Performance Implications
Niels Rasmussen
No hace demasiado tiempo he descubierto en el framework la clase ActivatorUtilities
, una pequeña joyita disponible en Microsoft.Extensions.DependencyInjection
, que puede resultar interesante para implementar fácilmente factorías o cualquier tipo de código donde tengamos que instanciar manualmente clases con dependencias hacia servicios registrados en el contenedor de nuestra aplicación.
La clase estática ActivatorUtilities
ofrece básicamente tres métodos públicos:
CreateFactory()
, para crear factorías de objetos.CreateInstance()
/CreateInstance<T>()
, para crear instancias de objetos.GetServiceOrCreateInstance()
/GetServiceOrCreateInstance<T>()
, para obtener una instancia desde el inyector, o bien crearla manualmente conCreateInstance()
.
Ahí van los enlaces recopilados durante la semana pasada. Espero que os resulten interesantes. :-)
Por si te lo perdiste...
- Cómo crear bibliotecas de clases o proyectos de consola .NET 5 en lugar de .NET Core 3.1
José María Aguilar - Quizás no estés comparando con null de forma totalmente correcta
José María Aguilar
.NET Core / .NET
- Date, Time, and Time Zone Enhancements in .NET 6
Matt Johnso - Debugging C# Source Generators with Visual Studio 2019 16.10
Steve Collins - Different ways to check if a value is null in C#
Gérald Barré - Extending HttpClient Testing With Templating
Adam Storr - A Closer Look at 5 New Features in C# 10
Matthew MacDonald - Build apps for Microsoft Teams with .NET
John Miller - C# tip: how to get the index of an item in a foreach loop
Davide Bellone - In the Jungle of .NET Obfuscator Tools
Patrick Smacchia - Rediscovering implicit casting
Ken Bonny - Command Line Arguments and C# 9.0 Top Level Statement
Abhijit Jana - Show dotnet: Running my .NET nanoFramework for 8 years on a battery
Laurent Ellerbach - A C# Library to Implement Array Tries
Jorge Luis Orejel