
Como sabéis, a no ser que se especifique lo contrario mediante la directiva @inherits
, los componentes Blazor heredan de Microsoft.AspNetCore.Components.ComponentBase
. Esta clase abstracta proporcionada por el framework hace que podamos centrarnos en escribir nuestro código, al encargarse de gestionar aspectos básicos de los componentes como su creación, inicialización, renderizado, el ciclo de vida u otros aspectos de infraestructura.
Pero aunque heredar de ComponentBase
es la inmensa mayoría de las veces la mejor opción, no tiene por qué ser así necesariamente. Blazor reconoce como componente cualquier clase que implemente IComponent
, una pieza mucho más pequeña.
Publicado por José M. Aguilar a las 8:05 a. m.
Etiquetas: blazor, blazorserver, blazorwasm
Ahí van los enlaces recopilados durante la semana pasada. Espero que os resulten interesantes. :-)
Por si te lo perdiste...
- Ver el código fuente generado por source generators
José María Aguilar - Establecer textos por defecto y localizados en validaciones de ASP.NET Core MVC
José María Aguilar
.NET Core / .NET
- ¿Qué es la carpeta "ref" que hay en los resultados de compilar un proyecto con .NET?
José Manuel Alarcón - Cost of exceptions
Gunnar Peipman - ICYMI C# 9 New Features: Reducing Code with Target-typed New Expressions
Jason Roberts - Test Your .NET HttpClient Based Strongly Typed Clients Like a Boss
Adam Storr - How to Compare Performance between .NET 5 and .NET Framework Controls
Denis Zmitrichenko - Functional monads in C#
Camilo Reyes - Conditional compilation for ignoring method calls with the ConditionalAttribute
Andrew Lock - Stop Saving to Disk with C# Asynchronous Streams
Lee Richardson - C sharp or B flat? Experiments in self-contained native executables in .NET
Scott Hanselman - A Practical Guide to Higher Order Functions in C#
Sam Walpole - Why is there a difference between decimal 0 and 0.0?
Colin Mackay
Es una gran alegría poder compartir con todos vosotros que Microsoft me ha reconocido por undécimo año consecutivo como Most Valuable Professional (MVP) en la comunidad de tecnologías para desarrolladores.
En esta ocasión, la notificación del nombramiento me pilló completamente desprevenido, apagando un fuego de los gordos provocado por un error en un servidor de producción, por lo que el fragor de la batalla no me dejó celebrar apropiadamente el momento, ni disfrutar la tensa espera que lo precede. Pero ya al llegar la calma, sí que he podido sentir de nuevo la emoción y orgullo que supone seguir perteneciendo un año más a este selecto grupo de locos por el software y la tecnología. ¡Once años ya, uau!
Muchas gracias a todos los que hacéis esto posible: a los que me estáis leyendo, porque sois los que día a día me dais motivos para continuar con este proyecto. No dudéis que sin vuestras visitas, comentarios y mensajes esto no tendría sentido.
Muchas gracias también al equipo del programa MVP, por su incansable labor en beneficio de la comunidad y su inestimable ayuda a los miembros del programa.
Y como no podía ser de otra forma, un agradecimiento infinito para mi mujer e hijas, por cederme el tiempo y espacio que necesito para desarrollar mi pasión.
Por último, me gustaría aprovechar la ocasión para felicitar a los MVP que renuevan este año y animarlos a continuar regalándonos tanto conocimiento y entusiasmo. Y también, por supuesto, una afectuosa bienvenida a los que acabáis de recibir vuestro primer reconocimiento; disfrutad el momento, porque no lo vais a olvidar jamás :)
¡Nos vemos!
Publicado en Variable not found.

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