Creating a ToolTip Component in Blazor
A tutorial on building a custom, reusable ToolTip component from scratch using Blazor WebAssembly, C#, and .NET.
Steven Giesel is a Senior Software Engineer and Microsoft MVP with over 13 years of experience, specializing in .NET and modern backend development. He shares deep technical knowledge across topics such as C#, EF Core, RavenDB, distributed systems, and cloud-native architectures, and is an active speaker in the .NET community.
323 articles from this blog
A tutorial on building a custom, reusable ToolTip component from scratch using Blazor WebAssembly, C#, and .NET.
A tutorial on using C# Source Generators to automatically embed build information like timestamp and configuration into your code during compilation.
Learn how to use the C# 'is not' operator with exception filtering to write cleaner and more maintainable error handling code.
A guide to implementing in-memory caching in .NET using IMemoryCache to improve application performance and reduce database calls.
A guide to building a simple, reflection-based object mapper in C#, explaining the core concepts behind libraries like AutoMapper.
Explains the Skip and Take methods in C# LINQ for implementing pagination and limiting query results.
A tutorial on building a custom cron job scheduler in ASP.NET Core using BackgroundService, for educational purposes.
A critical look at benchmarking in .NET, emphasizing the importance of context and real-world performance over isolated micro-optimizations.
Explores the Liskov Substitution Principle using the classic 'Is a square a rectangle?' example in object-oriented programming.
Explains the Humble Object design pattern for separating hard-to-test dependencies from core logic to improve unit testing in software development.
Compares performance of C# collection types like List<T>, ReadOnlyCollection<T>, ImmutableArray<T>, and ImmutableList<T> in iteration benchmarks.
Explores the shift from the traditional testing pyramid to a testing diamond model, emphasizing more integration tests for modern architectures.
How to embed Git version information like commit hash and tags directly into C# code using the GitInfo source generator library.
Explains the error NETSDK1194 in .NET builds, why it occurs with recent SDK updates, and how to address it.
Analyzes a performance quirk in C#'s JsonSerializer when creating new JsonSerializerOptions instances, showing significant memory and speed penalties.
Explains what middleware is in ASP.NET Core, its role in the request pipeline, and provides a practical implementation example.
A guide to implementing multi-tenancy in ASP.NET Core applications using RavenDB, covering architecture, advantages, and code examples.
A comprehensive mind map visualizing C# language features from version 1.0 through the upcoming C# 12, with clickable links to examples.
Explains the Repository design pattern in C#/.NET, covering its purpose, basic implementation, benefits, and potential drawbacks.
Entity Framework 8 adds native SQL Server support for .NET's DateOnly and TimeOnly types, eliminating the need for custom converters.